<div class="box">
! 唐多令 刘过
> 安远楼小集,侑觞歌板之姬黄其姓者,乞词于龙洲道人,为赋此。同柳阜之、刘去非、石民瞻、周嘉仲、陈孟参、孟容,时八月五日也。
<<<.tc-big-quote
"""
芦叶满汀洲,寒沙带浅流。二十年重过南楼。柳下系船犹未稳,能几日,又[[中秋]]。
黄鹤断矶头,故人曾到否?旧江山浑是新愁。欲买桂花同[[载酒]],终不似,[[少年]]游。
"""
<<<
"""
【译文】
我同一帮友人在安远楼聚会,酒席上一位姓黄的歌女请我作一首词,我便当场创作此篇。时为八月五日。
芦苇的枯叶落满沙洲,浅浅的寒水在沙滩上无声无息地流过。二十年光阴似箭,如今我又重新登上这旧地南楼。柳树下的小舟尚未系稳,我就匆匆忙忙重回故地。因为过不了几日就是中秋。
早已破烂不堪的黄鹤矶头,我的老朋友有没有来过?我眼前满目是苍凉的旧江山,又平添了无尽的绵绵新愁。想要买上桂花,带着美酒一同去水上泛舟逍遥一番。但却没有了少年时那种豪迈的意气。
"""
</div>
\define divertTiddlerButton()
<$set name="original" value={{!!draft.title}}>
<$set name="otherStoryList" filter="[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]" select="0">
<$button class=<<tv-config-toolbar-class>> tooltip="Divert this tiddler to the other story for viewing">
<$reveal state="$:/_sq/Stories/config/openLinkDivert" type="nomatch" text="top" default="top">
<$action-listops $tiddler=<<otherStoryList>> $subfilter="[<original>]"/>
</$reveal>
<$reveal state="$:/_sq/Stories/config/openLinkDivert" type="match" text="top" default="top">
<$action-listops $tiddler=<<otherStoryList>> $subfilter="+[prepend<original>]"/>
</$reveal>
<span class="sq-button-divert-right sq-button-divert">{{$:/_sq/Stories/icons/divert-right.svg}}</span><span class="sq-button-divert-left sq-button-divert">{{$:/_sq/Stories/icons/divert-left.svg}}</span>
</$button>
</$set>
</$set>
\end
<<divertTiddlerButton>>
\define __me()
[[$(currentTiddler)$]]
\end
\define divertTiddlerButton()
<$set name="activeStoryList" value=<<tv-story-list>> >
<$set name="otherStoryList" filter="[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]" select="0">
<$set name="otherHistoryList" filter="[enlist{$:/_sq/Stories/HistoriesList!!list}] -[<tv-history-list>]" select="0">
<$button class=<<tv-config-toolbar-class>> tooltip="Divert this tiddler to the other story">
<$action-listops $tiddler=<<activeStoryList>> $subfilter="+[remove<__me>]"/>
<$reveal state="$:/_sq/Stories/config/openLinkDivert" type="nomatch" text="top" default="top">
<$action-listops $tiddler=<<otherStoryList>> $subfilter=<<__me>>/>
</$reveal>
<$reveal state="$:/_sq/Stories/config/openLinkDivert" type="match" text="top" default="top">
<$action-listops $tiddler=<<otherStoryList>> $subfilter="+[prepend<__me>]"/>
</$reveal>
<$action-addtohistory $history=<<otherHistoryList>> $title=<<currentTiddler>> />
<span class="sq-button-divert-right sq-button-divert">{{$:/_sq/Stories/icons/divert-right.svg}}</span><span class="sq-button-divert-left sq-button-divert">{{$:/_sq/Stories/icons/divert-left.svg}}</span>
</$button>
</$set>
</$set>
</$set>
\end
<<divertTiddlerButton>>
/*BOXES*/
html body.tc-body .bluebox {display:block;background-color:#eef;padding:5px;padding-left:20px;padding-top:10px;margin-top:5px;margin-bottom:5px;width:95%;color:#000;}
html body.tc-body .graybox {display:block;background-color:#eee;padding:5px;padding-left:20px;padding-top:10px;margin-top:5px;margin-bottom:5px;width:95%;color:#000;}
body p {<<colour foreground>>;}
code {color: #b0a;background-color:#eee;}
/*TIGHT NOTES*/
html body.tc-body h1, html body.tc-body h2, html body.tc-body h3, html body.tc-body h4 { margin-top: 0.3em; margin-bottom: 0.3em; }
/*FONT SUBTITLES*/
.serif {font-family: 'Arial', sans-serif; color: <<colour tiddler-editor-border>>font-size:10pt;}
html body.tc-body .serif a.tc-tiddlylink-external {font-family: 'Arial', sans-serif;font-size:12pt; line-height:normal;font-weight:normal;color:#666;}
/*FONT STUFF (colors)*/
html body.tc-body .lightgraybk {background:#eee;padding:1px 4px px 4px;margin-bottom:2px;font-family:'Arial', sans-serif;}
.red {color:red;}
html body.tc-body .blue a {color:blue;}
/*FONT STUFF SOURCES*/
html body.tc-body .source {color:#777;font-size:10pt;}
/*ICON COLORS*/
html body.tc-body .tc-image-edit-button {stroke: white;fill:#555;}
html body.tc-body .tc-image-chevron-up {stroke: white;fill:#ccc;}
html body.tc-body .tc-image-chevron-down {stroke: white;fill:#ccc;}
html body.tc-body .tc-image-fold-button {stroke: white;fill:#ccc;}
html body.tc-body .tc-image-close-button {stroke: white;fill:#555;}
html body.tc-body .tc-image-unfold-button {stroke: white;fill:#ccc;}
html body.tc-body .tc-image-preview-open {stroke: white;fill:#f29;font-size:150%;}
html body.tc-body .tc-image-delete-button {stroke: white;fill:#ff2222;}
html body.tc-body .tc-image-cancel-button {stroke: white;fill:#ffdd55;}
html body.tc-body .tc-image-done-button {stroke: white;fill:#094;}
/*INDENTING*/
html body.tc-body .indent1 {margin-left:1.5em;display:block;}
/*LINKS*/
html body.tc-body a.tc-tiddlylink {text-decoration: none;font-style: normal;font-weight: normal;}
html body.tc-body a.tc-tiddlylink-external {text-decoration: none;font-weight: normal;}
html body.tc-body a.tc-tiddlylink-visited {text-decoration: none;font-weight: normal;}
html body.tc-body .source a.tc-tiddlylink-external {font-weight: normal;font-size:10pt;}
/*LISTS BASIC*/
html body.tc-body ul li {color: <<colour foreground>>;}
html body.tc-body ol li {color:<<colour foreground>>;}
/*TIDDLER TITLES*/
.tc-tiddler-missing .tc-title { font-style: normal; font-weight: bold; }
/*VIEWTEMPLATE FONT SIZE*/
html body.tc-body .viewtemplatebigtext {font-size:110%;}
/*HIDE SECTIONS FOR PRINTING*/
@media print {#tc-page-background {display: none ! important;}}
@media print {.tc-tags-wrapper {display: none ! important;}}
@media print { body.tc-body {background-color: transparent;}}
@media print {.tc-image-chevron-up {display: none ! important;}}
@media print {.tc-image-chevron-down {display: none ! important;}}
@media print {button.sidebar-toggle {display: none ! important;}}
@media print {.hideprint {display: none ! important;}}
@media print {.tc-btn-invisible {display: none ! important;}}
@media print {
.story-river {
margin: 0;
padding: 0;
}
html body.tc-body .tc-tiddler-frame {
margin: 0;
border-bottom: 1px solid #fff;
padding: 5px;}
html body.tc-body a.tc-tiddlylink-external:hover {
border: 1px solid <<colour tiddler-border>>;
}
html body.tc-body .tc-tiddler-info {
padding: 14px 42px 14px 42px;
background-color: <<colour tiddler-info-background>>;}
}
}
<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags}} journalText="">
<$wikify name="journalTitle" text="""<$macrocall $name="now" format=<<journalTitleTemplate>>/>""">
<$reveal type="nomatch" state=<<journalTitle>> text="">
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags="" text={{{ [<journalTitle>get[]] }}}/>
</$reveal>
<$reveal type="match" state=<<journalTitle>> text="">
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags="" text=<<journalText>>/>
</$reveal>
</$wikify>
</$vars>
<$button class="tc-btn-invisible" popup="$:/SamplePopupState">{{$:/core/images/chevron-down}}</$button>
<$reveal type="popup" state="$:/SamplePopupState" class="tc-tiddler-body tc-drop-down tc-popup-keep">
<$checkbox tiddler="$:/core/ui/EditTemplate/title" tag="$:/tags/EditTemplate"> title</$checkbox><br>
<$checkbox tiddler="$:/core/ui/EditTemplate/tags" tag="$:/tags/EditTemplate"> tags</$checkbox><br>
<$checkbox tiddler="$:/core/ui/EditTemplate/type" tag="$:/tags/EditTemplate"> type</$checkbox><br>
<$checkbox tiddler="$:/core/ui/EditTemplate/fields" tag="$:/tags/EditTemplate"> fields</$checkbox><br>
<$checkbox tiddler="$:/config/TextEditor/EnableToolbar" field="text" checked="yes" unchecked="no" default="no"> toolbar</$checkbox><br>
<$checkbox tiddler="$:/.giffmex/EditTemplate/custom" tag="$:/tags/EditTemplate"> custom</$checkbox>
''Open / close the sidebar:'' <$list filter="[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]" variable="ignore"><$button set="$:/state/sidebar" setTo="no" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class="tc-btn-invisible">{{$:/core/images/chevron-right}}</$button>
</$list><$list filter="[[$:/state/sidebar]get[text]] +[else[yes]match[no]]" variable="ignore">
<$button set="$:/state/sidebar" setTo="yes" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class="tc-btn-invisible">{{$:/core/images/chevron-left}}</$button>
</$list>
''Click the link below to edit the''<br> [[Custom area|$:/.giffmex/EditTemplate/custom]]
{{$:/core/ui/EditorToolbar/editor-height-dropdown}}
</$reveal>
<span class="red">red</span> <span class="thinred">thinred</span> <span class="orange">orange</span> <span class="pink">pink</span> <span class="purple">purple</span> <br><br>
<span class="gray">gray</span> <span class="thingray">thingray</span> <span class="wine">wine</span> <span class="thinwine">thinwine</span> <span class="brown">brown</span> <span class="gold">gold</span> <br><br>
<span class="green">green</span> <span class="dkgrn">dkgrn</span> <span class="blue">blue</span> <span class="thinblue">thinblue</span> <span class="teal">teal</span>
<hr>
<span class="greenbk">greenbk</span> <span class="bluebk">bluebk</span> <span class="orangebk">orangebk</span> <span class="pinkbk">pinkbk</span> <br><br>
<span class="purplebk">purplebk</span> <span class="graybk">graybk</span> <span class="tanbk">tanbk</span> <span class="yellowbk">yellowbk</span> <br><br>
<span class="turqbk">turqbk</span>
<hr>
!!! subtopicblue, subtopicnavy, etc
<span class="subtopicblue">blue</span> <span class="subtopicnavy">navy</span> <span class="subtopicpurple">purple</span>
<span class="subtopicturq">turq</span> <span class="subtopicteal">teal</span> <span class="subtopicgreen">green</span> <span class="subtopicpine">pine</span>
<span class="subtopiclav">lav</span> <span class="subtopicmagenta">magenta</span> <span class="subtopicorange">orange</span>
<span class="subtopicgold">gold</span> <span class="subtopicolive">olive</span> <span class="subtopicbrown">brown</span> <span class="subtopicwine">wine</span>
<span class="subtopicgray">gray</span> <span class="subtopicslate">slate</span>
<$action-sendmessage
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix="""<span class="">"""
suffix="""</span>"""
/>
"""
This is where you can add your own items you want visible in the edit template. For example:
Grab symbol code: e.g., ♦ `♦` ★ `★`
Grab snippets: e.g., `tiddlywiki --rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html static text/plain --rendertiddler $:/core/templates/static.template.css static/static.css text/plain`
"""
<br>
iVBORw0KGgoAAAANSUhEUgAAABUAAAAQCAAAAADcsWv5AAAUdXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjarZppchy7lYX/5yq8BMwXWA7GiN5BL9/fQZYoiU/PDrtbDLGKxUwMdzgDks/+3/85zz/4l71PT8pWSyvF8S+11ELnTXXvv/fVu3S/vz/kz+/8758/n1fnAh9FXuP7Y9mf6zuf5583WPp8Pn7//LH5Gad+Bvox8mfAqJkDbz7X1c9AMbyf+8/PT/vc19Mv2/n8D3YXr9nfyb79nIxgrMx4MTxhRx8d36tmiawgttj57vkeYuYidz9JMd5P0p9j93y9/Ra8Gf8cO9c/V8TfQ/G48rmgfItR+crSH2N3I/Qta/4z82+/2MkH9+u/X2J3zqrn7Hd3PRUiVZ7PptxniPuOCwlnive2wpfxP/Pe7lfjq7LFScYW2Rx8zcc3H4j28ckv3/3x+75OP1liCjsYryHMEO9nNVpoYd6kJH35E4xkrCdWMjHJWuTj8LUWf+dtd77pKzMvz5XBM5jnjr98PX/68L/5+hroHJWu9wrmjDdWfA8KOMtQ5vSdq0iIP5+Y5hvf+/V8pfXnPyU2ksF8w1zZYHfjHWJk/7O24s1z5Lrs0vMWvfO2PgMQIubOLIbqTt4VH7Mv3lkIBlzEUMlPZ+UUeRhkwOccln8OuYmxkJwaNDf3mL/Xhhzej4EWEpFjiUZqaBeSlVKmfixVaqjnmNOTcy7Zcs0t9xJLKrmUYkUY1S1asmzFzKo16zXWVHMt1WqtrfYWWgTCcivNnlZba70zaWfozt2dK3ofYcSRRh5l2KijjT4pn5lmnmXarLPNvsKKi/ZfZdmz6mqrb78ppZ123mXbrrvtfqi1E086+ZRjp552+lfWPln9PWv+W+b+ddb8J2vKWLrX2c+s8bHZjyG84CQrZ2QsJE/GTRmgoINy5qpPKShzyplrgabIgaz5rOQsr4yRwbR9yMd/5e5n5v5l3p6c/qO8hb/L3KPU/X9k7lHqPpn7a97+kLXVL6O83aguVExdPAAbF/VQe6IDlJe0el5rL7YOQEdNGdxmYfyYfcr+x2vTkCuQscV7BsqdbZqNLHxdTLN+vfzzShLrvTUr0G2wMgAz3pkHc47nDze8l3eQrhRoU78khPG9qxIQNsBidY1p4rve59vkQZ3MG3IWWh7ktdyb/Cptxv5tpQDItjOtE6Ptz9wjcHm00vzYu3XuaHse4Ivwt0iv7JxQAZHA78ayScWdVUFw75qf+6bajSmCAXoJVMS428hBH7s7RY/8t7uStXpp69tWnm+BrVQrOLQo8BuJfW/4MS3rANryGPBaOguoG73lvJqPT9kJXE4nTGcn953i2T7GFcfZVteys04Y2ubM2ZKHbs5pPm2qZq8GT9aZqbinsJ2TFuWTixtr5DRqXSE5CnDS/jFCZ9bPyPkMP1qyMcmcK5S1hkdnzFlqfO4PLg87p3omYW/DLC19DqGmTEkfaRB4c2+fOqkAEOgL6+w4jkgdrX0eYiGVpdr++Uo3/YyT165+TdAfX58FMFAPI+9U+sypj5LYS+pzrWIztUKVrNYznZosDhYHJDl2h5CaPq5J3Jn7WXm2Aw1Mo79OptFOnqR9gUuJ4Zgt+Oloj8TmMwhFsCchO0rDSLfaQh9PO6MeHxahsxjmHCTEA1hkkVBoTuZhxuXHXKmfBcXlcki2XxQUb4/vzP6svnpjcIfyIOPnRBCDMgT2Rj9pFnAmeZAwn+has+r1tUYkfp1VzRDAoSMYiVx6F3h60StQ7/aOaVLPkeFAhsJSF+gTZtqpAXYWcwH4Vk1UPmVexuMGS+2xqm5JqgRvLrdRa0glAOI1CDK7F+w2P/esSYAcaX1yGp1NgwCefmo4KFy/qj+LKnZaFamnXH0hmiqpuBTqseuy4U4FSymP49jSLJ2dxp0fgJQb+64UQFw7DeE1xV7cUQOnsT2LtoZUoMHA9lJ8C3Zon0xP3epOBRHRDdxjKQRjWBnT6Cx3WnXb1d5RnAxtcbs5kNt3UsDhHJR4H1SNEY0y1grPpiPq6pFYDyiztmlg++kXeg1U/zWtR2kVrJBY+jqT0OFvk0HZJPmMM9fZMXc6DnDcKjriQuu/qdzMSiRJRi8rFApt0XfNt9UcjMle01NiSNB1VAbCJpOAI3vtvAmRUp+QW5rVoUTJb2KQDUzWCFAcBSICIQRloEb27LvwA/Gc7CvW5qtkWaDGEwk4lYa57QFtUYGnb2T0sb1Ydx2qulP8ExKimjQ0yHe0tdyZUHSkfxHPMw9+Cr0ORqWmcoaCoKFBwkfusDGMEFLt1T8l0V44j3TrR6g9BNYF5ldVXmD5/RXNLfgIOVmjUbgsQI0PUaf/O7JgSnu0rO6EkkOf4Goto2mCATZoV+vWDS2m0eg/8tcPPLP2E8VGopyb2CmPcfRLSmbRO7T8IcuUHhavBNCapI+DghlVnpEan6oHVC1MRBGPxajlbro5yp4iXGtSmw2FtWaqkItbQHbB1sS5XWMBbAoOqYB5j89mMw09El5CpBGd6qqwUjLpBxgLXBYckBXQN8zaokd3JVzKPJQNGgDJBIwoo9Rg0YZK0YYaNe+6als3hlVyQNigwRYol6cvdG3OEYjdji2eoPoFjxpdQkxkRAhdu+CpOELWXWV10Z3hwkUtmH4DzpWe9BmO2mZYsTGe0eqY6UINoaDzI+2dM1FHdcG9PlqFH3fKEBoF6ERZBahglCU6mMPSptcIPhqttrEPlUUZJmo2+U7WB2Upvp37g6Ar6LWqm7NtGlpY4APsfbc2vmCBZEEFZRDoCAkY0YhvefWAdKg5ey200N01wbFdqAyaTFb9TC0bSX1xEcl5X10Dj5mhv/GynRUMMhdHM3cB01MaDDuPr0Vxf7ZCaXXfygWZaGg4s6CIiBP8QNqRZqU10ibJEHAe7exO8+8MSgu5iTNCC8IJ0hR+FFNPe1EMOwi8PZ9q12/6RSaqvQyWdvmmHtoZmpRWe2isOKFNf9NNv8IuCAOYGqWFcuhxlEIAW1lcCdtMR12rcpHhqO48Vq4goWTN7mZsumXIaM3INPQNFdO5HWbsJ6L90KCSTiT/5dEP4Fpu26Pl2yMqRHGBjVCfrwkPFDZvJz5mSVkitaF2lf6+e0BdXBhh5ZIqJiZtDqEVYxPCZhJA1plEomfCUmg8lMaRa1j0EZu5Ku3UL+GA2ThuX2I+T0ZCrN3o9iKXgt51QKEzxOvRXpa8E6NhSC5fxFm0v/NSk4ajNcYtyJwETDTpVWWpnVtT8GHu0FZCEIK0AN9elarpE5AH1CEe9MrEt6FY0CuA/3E4HcZCahLSnhqgwa24rZrwqHB5m+jsY5ibTqTT2xpO6b1TbpiYOgKdBmqDejBxAwAgyp6SVVgIRcVUfZRL0hZHD3JdVtE7/hq2ggXE+CHiiXmXSryHTKtbIPaD1oSImxQ+7CmLQmuz4rqOyfqQZ7AbUiPGABgscmDNIAnesEysDMOWyLqnRtOBbKFKzKK0rYKbDJr+UthDWm6s7nd/oupRjEEpk1AorhBMOWU0JI5EFQzT7Jngkw3poUheOXaioPZtos2KblKLWDOBVXAfTZxZXfBl0IbULeXESseA2xM0rRODYJDibdwoc8BEj2HRrteB1fHBiITYrhQH/Ah2qoI7TxhyoHfhXoTqAXanGjxQAyLzgtBSjE0iEwpzKDyKtXdwFbUmed1Bf5x+k6CbG0xDpRK5dx/imUXd0nrgUcMVY0tIKhmGWAxlnMLB4YLBov7hEOGnU3bI7oHuBAmhzirgwoUCMOCge8C7rN6u8Qy0hNzRJDgAyZFrxKdBt2AF6bCKEoVZfaUB2C9bsUJciGEu2Cw0yh6yU2gtSYJ48QK8hhJud+1xp78yHx2KAEL4w0qUVMs2V1NXykHSChL9iBp43+N0iZLwlA2B96+1rmFHkZmXDqNOPdC7selTOaYu3TOR7+WE28t0MRXYbiv4vEXe3dlbiOXSAqJLqHF7DuThcmwQ2JHdg2ZEjSCaw5iERsYPiOJSv8UD2LOtrjPD+J32iulZqyoItNjiMDCruidKkPeT6+1kfpeHL4T/JSbWuFQLmaBGv6CmgyBdHbV4qYo6rajiFsIDUk/adoO+Yv8G+sRZwURljphUhKehRMgh0geMVHGGew8FoiXtIyB7qNhcbhwKlp9lxXP7p+54Y71S44q6AIsy+9ABy4696lji4Abxwz05TODz4kcAM+G5yDqZjjWZ6jehNroOD+g1AA+TgxpCVUegUicywAM6+Ejqq9eYekeuOnWWM1tEBwqEl5fm6Cg5OCRLwN8oUqW80PpUSqGExIm1Af6IdEhwIf72ROuj5GkTVHCNe0vDR20TK1VGt6pT3WO3THtgAvyfqMEEtUHHhMKXSD9AUPRBn4F9eG1jztkWgTiTWwSIJa26LlqwAZJzHyMEDMzTdXIuyQOu3guWjmYCrdRZ234PSVC0DV1NAoqsn8+IEUxBp1jILO2e9j1AaALSaX5c+eCQosVHCASERacCQgsBSUvLX/MNs3S1F90UIAesHej70BPUYgp4F0QwcWGC2KqOtHGBbaNK0LXEA4AS0HZfIHGD9aqsvaAsWlT6Ebu0F6mLQ49wJomgte6mYAr0VbrZisvLrYEqw/ecsp+w3MSyYsDwteFBBtzCcLClnlF4aQeR2WsWQugSHSiIil5CZNWFAREN7qwua4h8ah8LIfV+8FoCcmTCzeBAP9sIm53sXQ8FPcX33qeLjzbvGj9zoIgQa+fRuQYuIElsSgfI5UHc2wIT/HpklXSQHhDtyi2SaIfwUjd2/Zz8iO7uGdACKUzshnymTZo8NyIsETXiwbbQ+NjmtN88m/LMNqYwdZtORqNkLZx/BcGJ4XOIVCIs9BrfTjODxuqRhDc7aWCEUWwVdh+zbTwiLAKkzEoFE912W+5IFTbwEevB/I6fwLUGRwFOTWfo2Xuw7xSbvTnpvII5Bvn8dSJ5dTTy1Pr8eU9LcIR2Gh2qoy7KUqRPg1OKM7+0vcALRCKLfGD8gF1RDJL0GCV1m9IkFWmuLsU3Q5cmpbWbBMX1+9BC8RD5OHqeV/H91B2iApcT0GIY4mWgBh1MbAX+OjtyOt8yeQQZQebxUtzAHqQQcBQEBJfNVQGaQUajoCiWAflSlahoOq3G64dg4nohdUL+Jd+NkzTxn8qMSR+6b4n4jJLDgvXX/+g4xGOPMMUJ9mOGSUrAQ0Q02Ws4KQoFKb1B7qUjpweJwX0suiQxaVVHVTKFD6C45Aawqgt/w304JviKgisIYtyep/9xme+pH2ULLLZcqTsJdI/EL1vHl7ct0C7idomVrKWjV3MIVcKJTqFsgsAmrPQcnFM1gw7lZNBO+1P4UkCLitNiBwQ7dQTgi9QXDU+NLvRXTTq9CtbtkUl6yRhBggh+T/bFpupPUYVMmN3q18NJmlmbR7bhjaKMtdnHQfbTXl5PIny60a/lFS8ZJlQBLkaghqrWIxB8L6Xf4n2y7Ar6xmtM0dHAixJ8XAWWkpIf9PeqcssyuAxlTofG6AciqCMPDOolJtD01r+yHh6vEwpAT71BF6IN9j2TQiZuFN4gCz2FhrhopEPHOrfhWYaev11QGX86GP/26rU3IIpIDpe2Gx6A8RmFIqDHwtkFKdJIsJfqTEBEeg5YLG9AysjUprtZw1ov6kwdkqFM9WCJDonnPc9OVznA/Tmj5oFsOQuuLQgz1V1l1M1dpH2hC+7JwHvGnW9hZApDJ594hBl2fXDeVG0QhwP1PcgSuUJiTkQ9Q5EgD5XQr9xChIxfC+SiBkr3k/4KuNiQhZ1HXhbgNvQnPYM8gIWwPDqsk24KuH2kCogIqnkjj269dvBBkpx7oMoGRIGoTjU1ERLkciMrt/iyxgt3B+lwjxlgAHFf8mhihNbQQbonJ4S1wiyswSAawBfMh3bp30ShLsOj6vnDPQphuHsSosdUXidI5QnQOFJqDIxH1kk6tptk5w6ZSUriSe/TgNu0KPAC7IFjERWkIymgiLKIYLbTAT3MDpXv9/kHpaDQbnc5hMiBN/k9eUhtpPrSkZ5u1vup4t3sqR3ZF1aOypBJBUWwsyZ5RnTFpo9gQDzV7JAzYAd1KzRpyNZF0yeMsShIXAcIg5wqST1nPb2zE2XVGij4JvsVZEdMiX9W3+eisx5Ijrw8zD3omKq/6TjOSmV2bG5PaTiCN8BtileHhBCvzpl7JJEsmhXQpliPXie7eZC74HC++AFqwFT7b05Ev05Gm7tv08Q6mVTMfS6iM44CIOYuoxv0ZxP3Gdn7/IvRG24j6QwRCZNQfiQnTByu1wGyztp9p38zlU3WieJekCBse0BUr+dLfZb39PaHavLjF9V084tuIlwxCKSfRn+XhtZNqF+UM0yREuRLj+mkktB1ZIsPIAnNSsrksvIgcGWiGZAg0q2rPaMPa7ljVwMWEfb1ngTljs6RW+XXbHTjAmkIS3UNQ4Y4ZdQduwZJMOzHQ4LbtvegC3rMyI+EniFBeA9BzPXONNmWK7VbpSxER/3xvQ+gw76q14JNnXfEjEzGFgad58eSpIos0Giz6ElGOSrxQkfgC4Ke0Z77wPq2DxoS74WNKrrQHODFqODQvKc5U3er14DOce2uE0URyb8G/kEwVh2TLS8pUX4s9ggZ2Ulps99HwJNSQKugjCMtOrz+auH+cUs7tG4NT5QQiUePpCg2ub/791LF/fEhH674ffCK53s/hN8RS60/KUpRRT14bQxUVLQy/IXC/xO9VB0GjbQLPKQn7VNCatl82j3MQ9/r0T2kXlXObFHGTSUTaXJIQ95Kp4iXokCr9QaBJr1GhhhFVe5AzDMgEHtP1vtkdsABXsY46gEcjHi+tkhfZ2pXanVItfLL0B6dWEZP25n//nj6veu24j16XIQwvHtPLyQpC1BZyrE/932R0aXt/7bj71NWfHDZP678PPX+eij7/PJ0tugPza75M2AbA5FvFtLnyf1fWP3HI/2GSNnPO9m/f6D7716f/H8c4H3FHEPj7fkneZm0hM41qL8AAAACYktHRAAAqo0jMgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAAAd0SU1FB+MLGQ8rGGiFyIoAAADxSURBVBjTbYo9SkNRGETPd28qEbQXXYS7cAfByiaWKVLZyWts7YWABrKGQIRYiZ3YCmIjvgRNER4x5P3cbywSO6eZOYcx4QGQwV/JAglASgA1gMtbiQCYR/jgwDY7xAhABA3njQMWCQBU9wOxej+6GywBNnZ6+XRizHb2T6veqwPIy4f2uJSrP5I3L2fDHzleZN3cVad1Z+a1a5F1vr1lOODRFuxZMBX58a4hVZP2uJRGfUn1pP1YS0hSfpF9Nd03qbjufUpbq/X4dn6+lN8MV9raJEn+fOVSmSRJMjUhAGmqQ0jBQB4sKcKWNwcpmPgnv6+gp3tdTJ7nAAAAAElFTkSuQmCC
\define tagreset2()
<$list filter="[tag[$:/giffmex/titleview]sort[created]] -[[$(currentTiddler)$]]" variable="removeme">
<$action-listops $tiddler=<<removeme>> $tags="+[remove[$:/tags/ViewTemplate]]"/>
</$list>
<$action-deletefield dummy/>
\end
\define switchStoryView(storyview,default)
<$select tiddler='$storyview$' default='$default$'>
<option value="zoomin"><$text text='one tiddler only'/></option>
<option value="classic"><$text text='multiple tiddlers'/></option>
</$select>
\end
''Choose how to view titles:''
<$list filter="[tag[$:/giffmex/titleview]sort[caption]]">
<$list filter="[all[current]tag[$:/tags/ViewTemplate]]">
<$checkbox field=dummy checked="yes" unchecked="yes" default="yes"></$checkbox>
<$view field="caption"/><br/>
</$list>
<$list filter="[all[current]!tag[$:/tags/ViewTemplate]]">
<$checkbox tag="$:/tags/ViewTemplate" xinvertTag="yes" checkactions=<<tagreset2>>/> <$view field="caption"/><br/>
</$list>
</$list>
<br>
''Choose how to view tiddlers in each column''
Left column: <<switchStoryView $:/view zoomin>>
Right column: <<switchStoryView $:/_sq/Stories/config/Story2-storyview classic>>
\define tagreset()
<$list filter="[tag[$:/giffmex/refs]sort[created]] -[[$(currentTiddler)$]]" variable="removeme">
<$action-listops $tiddler=<<removeme>> $tags="+[remove[$:/tags/ViewTemplate]]"/>
</$list>
<$action-deletefield dummy/>
\end
''Choose how to view references:''
<$list filter="[tag[$:/giffmex/refs]sort[caption]]">
<$list filter="[all[current]tag[$:/tags/ViewTemplate]]">
<$checkbox field=dummy checked="yes" unchecked="yes" default="yes"></$checkbox>
<$view field="caption"/><br/>
</$list>
<$list filter="[all[current]!tag[$:/tags/ViewTemplate]]">
<$checkbox tag="$:/tags/ViewTemplate" xinvertTag="yes" checkactions=<<tagreset>>/> <$view field="caption"/><br/>
</$list>
</$list>
{{Hint for Muffin tutorial}}
<br>Note that the gray boxes in the context and transclude options are links to their respective tiddlers.
```
.tc-tiddler-controls.tc-titlebar a.tc-tiddlylink {font-size:10pt;color:red;}
.tc-tiddler-controls.tc-titlebar {font-size:10pt;}
```
/*LIST BULLETS*/
/*
html body.tc-body ul {list-style: none;}
html body.tc-body ul li::before {content: "•"; color:#66f;font-size:170%;
display: inline-block; vertical-align:top;margin-left: -.6em;width:.6em;}
*/
```
/*FONT STUFF (colors)*/
html body.tc-body .red {color: red; font-weight: bold;}
html body.tc-body .thinred {color: red; }
html body.tc-body .green {color:#0a5;font-weight:bold;}
html body.tc-body .blue {color:#0000ee;font-weight:bold;}
html body.tc-body .thinblue {color:#0000ee;font-weight:normal;}
html body.tc-body .bigblue {color:#0000ee;font-size:20pt;font-weight:bold;}
html body.tc-body .orange {color:#e81;font-weight: bold;}
html body.tc-body .dkgrn {color:#063;font-weight: bold;}
html body.tc-body .pink {color:#e0b;font-weight: bold;}
html body.tc-body .checkmark {color:#f81;font-weight: bold;font-size:18pt;}
html body.tc-body .purple {color:#990099;font-weight: bold;}
html body.tc-body .gray {color:#777777;font-weight: bold;}
html body.tc-body .thingray {color:#999;}
html body.tc-body .wine {color:#903;font-weight: bold;}
html body.tc-body .thinwine {color:#903;}
html body.tc-body .brown {color:#773300;font-weight: bold;}
html body.tc-body .gold {color:#aa0;font-weight: bold;}
html body.tc-body .white {color: white;}
html body.tc-body .teal {color:#0099bb;font-weight: bold;}
html body.tc-body .greenbk {background:#cf9;padding:1px 4px 1px 4px;}
html body.tc-body .bluebk {background:#eef;padding:1px 4px 1px 4px;}
html body.tc-body .orangebk {background:#fd7;padding:1px 4px 1px 4px;}
html body.tc-body .pinkbk {background:#fde;padding:1px 4px 1px 4px;}
html body.tc-body .purplebk {background:#ecf;padding:1px 4px 1px 4px;}
html body.tc-body .graybk {background:#ddd;padding:1px 4px 1px 4px;}
html body.tc-body .tanbk {background:#e8dfa1;padding:1px 4px 1px 4px;}
html body.tc-body .yellowbk {background:#ffc;padding:1px 4px 1px 4px;}
html body.tc-body .turqbk {background:#bdb;padding:1px 4px 1px 4px;}
html body.tc-body .subtopicgreen {color:#0a5;font-weight:bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicmagenta {color:#c09;font-weight:bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicblue {color:#0000ee;font-weight:bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicorange {color:#dd6633;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicpine {color:#558877;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopiclav {color:#cc88bb;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicpurple {color:#8833dd;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicgray {color:#777777;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicnavy {color:#00a;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicwine {color:#906;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicbrown {color:#773300;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicgold {color:#bbaa11;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicteal {color:#0099bb;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicolive {color:#aabb66;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicturq {color:#55ddbb;font-weight: bold;font-size:18pt;text-align:center;}
html body.tc-body .subtopicslate {color:#8888cc;font-weight: bold;font-size:18pt;text-align:center;}
```
{
"Hint for Muffin tutorial": "hide",
"Muffin 1": "hide",
"Muffin 2": "hide",
"Dave Gifford": "hide",
"Autocompletion": "hide",
"New tiddler linked here": "hide",
"Muffin!": "hide",
"Linux Signal": "hide",
"StrollTips": "hide",
"$:/temp/tobibeer/preview-1-tiddler": "hide"
}
\define save-tiddler-actions()
<$action-sendmessage $message="tm-add-tag" $param={{{ [<newTagNameTiddler>get[text]] }}}/>
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>
<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>
<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>
<$action-sendmessage $message="tm-save-tiddler"/>
<$list filter="[all[current]links[]is[missing]]"><$action-createtiddler $basetitle=<<currentTiddler>>/></$list>
\end
<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>
<$fieldmangler>
<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify "$:/temp/NewTagName">> newFieldNameTiddler=<<qualify "$:/temp/NewFieldName">> newFieldValueTiddler=<<qualify "$:/temp/NewFieldValue">>>
<$keyboard key="((cancel-edit-tiddler))" message="tm-cancel-tiddler">
<$keyboard key="((save-tiddler))" actions=<<save-tiddler-actions>>>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]" variable="listItem">
<$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]">
<$transclude tiddler=<<listItem>>/>
</$set>
</$list>
</$keyboard>
</$keyboard>
</$vars>
</$fieldmangler>
</div>
<span class="viewtemplatebigtext">
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<hr>
<$vars searchme=<<currentTiddler>> searchspx={{{ [<currentTiddler>escaperegexp[]]}}} >
<$list filter="[!is[system]all[current]backlinks[]!tag[outlines]!tag[hide]sort[title]] -[is[current]]"><$link><$view field="title"/></$link><span class="indent1"><$link><span class="graybox"><$context term=<<searchme>> /></span></$link></span></$list>
</$vars>
</$reveal>
</span>
<span class="viewtemplatebigtext">
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<hr>
<$vars searchme=<<currentTiddler>> searchspx={{{ [<currentTiddler>escaperegexp[]]}}} >
<$list filter="[!is[system]all[current]backlinks[]!tag[hide]sort[title]] -[is[current]]"><$link><$view field="title" /></$link><br></$list>
</$vars>
</$reveal>
</span>
<span class="viewtemplatebigtext">
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<hr>
<$list filter="[!is[system]all[current]backlinks[]!tag[hide]!tag[outlines]sort[title]] -[is[current]]"><$link><$view field="title"/></$link><span class="indent1"><$link><span class="graybox"><$transclude field="text" mode="block" /></span></$link></span></$list>
</$reveal>
</span>
<span class="viewtemplatebigtext">
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<hr>
<$list filter="[!is[system]all[current]backlinks[]!tag[hide]!tag[outlines]sort[title]] -[is[current]]"><$link><$view field="title"/></$link>
<$reveal type="nomatch" stateTitle="$:/.giffmex/TiddlyBlinkFoldData" stateIndex=<<currentTiddler>> text="show">
<$button class=<<tv-config-toolbar-class>> setTitle="$:/.giffmex/TiddlyBlinkFoldData" setIndex=<<currentTiddler>> setTo="show">{{$:/core/images/unfold-button}}</$button><br/>
</$reveal>
<$reveal type="match" stateTitle="$:/.giffmex/TiddlyBlinkFoldData" stateIndex=<<currentTiddler>> text="show">
<$button class=<<tv-config-toolbar-class>> setTitle="$:/.giffmex/TiddlyBlinkFoldData" setIndex=<<currentTiddler>> setTo="hide">{{$:/core/images/fold-button}}</$button>
<span class="indent1">
<$link><span class="graybox">
<$transclude field="text" mode="block" /></span></$link></span>
</$reveal>
</$list>
</$reveal>
</span>
\define title-styles()
fill:$(foregroundColor)$;
\end
\define config-title()
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
<div class="tc-tiddler-title">
<div class="tc-titlebar">
<span class="tc-tiddler-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>
</span>
<$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}>
<$link>
<$set name="foregroundColor" value={{!!color}}>
<span class="tc-tiddler-title-icon" style=<<title-styles>>>
<$transclude tiddler={{!!icon}}/>
</span>
</$set>
<$list filter="[all[current]removeprefix[$:/]]">
<h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}>
<span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/>
</h2>
</$list>
<br><$list filter="[all[current]!prefix[$:/]]">
<h2 class="tc-title">
<$view field="title"/>
</h2>
</$list>
</$link>
</$set>
</div>
<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup-handle" animate="yes" retain="yes">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]" variable="listItem"><$transclude tiddler=<<listItem>> mode="block"/></$list>
</$reveal>
</div>
\define button()
<$button tooltip={{$:/language/Buttons/NewHere/Hint}} class=<<tv-config-toolbar-class>> actions=<<actions>>>
{{$:/core/images/new-button}}
</$button>
\end
\define actions()
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags="""[[$(tid)$]]"""
text="""[[$(tid)$]]"""/>
\end
<$wikify name=tid text=<<currentTiddler>>>
<<button>>
</$wikify>
\whitespace trim
\define journalButtonActions()
<$action-sendmessage $message="tm-new-tiddler" title=<<now """$(journalTitleTemplate)$""">> text="""[[$(tid)$]]""" />
\end
\define journalButtonTags()
[[$(currentTiddlerTag)$]] $(journalTags)$
\end
\define journalButton()
<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}}
aria-label={{$:/language/Buttons/NewJournalHere/Caption}}
class=<<tv-config-toolbar-class>>
actions=<<journalButtonActions>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/core/images/new-journal-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>
</span>
</$list>
</$button>
\end
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>
<$set name="tid" value=<<currentTiddler>>>
<<journalButton>>
</$set>
</$set>
Built from branch 'tiddlywiki-com' at commit 1a6be5ae09de1289727e9a981560d295cf8f361a of https://github.com/Jermolene/TiddlyWiki5.git at 2020-04-15 15:19:44 UTC
{ "Ctrl-Space": "autocomplete" }
\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock prettylink
<div class="tc-table-of-contents">
<<toc-selective-expandable '' sort[ind]>>
</div>
YYYY / 0MM / 0DD / 0hh:0mm:0ss /
$:/.giffmex/ui/EditTemplate
{
"tiddlers": {
"$:/Acknowledgements": {
"title": "$:/Acknowledgements",
"text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
},
"$:/core/copyright.txt": {
"title": "$:/core/copyright.txt",
"type": "text/plain",
"text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2020, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
},
"$:/core/icon": {
"title": "$:/core/icon",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
},
"$:/core/images/add-comment": {
"title": "$:/core/images/add-comment",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>"
},
"$:/core/images/advanced-search-button": {
"title": "$:/core/images/advanced-search-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>"
},
"$:/core/images/auto-height": {
"title": "$:/core/images/auto-height",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
},
"$:/core/images/blank": {
"title": "$:/core/images/blank",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>"
},
"$:/core/images/bold": {
"title": "$:/core/images/bold",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>"
},
"$:/core/images/cancel-button": {
"title": "$:/core/images/cancel-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>"
},
"$:/core/images/chevron-down": {
"title": "$:/core/images/chevron-down",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>"
},
"$:/core/images/chevron-left": {
"title": "$:/core/images/chevron-left",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>"
},
"$:/core/images/chevron-right": {
"title": "$:/core/images/chevron-right",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>"
},
"$:/core/images/chevron-up": {
"title": "$:/core/images/chevron-up",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>"
},
"$:/core/images/clone-button": {
"title": "$:/core/images/clone-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>"
},
"$:/core/images/close-all-button": {
"title": "$:/core/images/close-all-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>"
},
"$:/core/images/close-button": {
"title": "$:/core/images/close-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>"
},
"$:/core/images/close-others-button": {
"title": "$:/core/images/close-others-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>"
},
"$:/core/images/copy-clipboard": {
"title": "$:/core/images/copy-clipboard",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>"
},
"$:/core/images/delete-button": {
"title": "$:/core/images/delete-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>"
},
"$:/core/images/done-button": {
"title": "$:/core/images/done-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>"
},
"$:/core/images/down-arrow": {
"title": "$:/core/images/down-arrow",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>"
},
"$:/core/images/download-button": {
"title": "$:/core/images/download-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>"
},
"$:/core/images/edit-button": {
"title": "$:/core/images/edit-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>"
},
"$:/core/images/erase": {
"title": "$:/core/images/erase",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>"
},
"$:/core/images/excise": {
"title": "$:/core/images/excise",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>"
},
"$:/core/images/export-button": {
"title": "$:/core/images/export-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>"
},
"$:/core/images/file": {
"title": "$:/core/images/file",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>"
},
"$:/core/images/fixed-height": {
"title": "$:/core/images/fixed-height",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
},
"$:/core/images/fold-all-button": {
"title": "$:/core/images/fold-all-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>"
},
"$:/core/images/fold-button": {
"title": "$:/core/images/fold-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>"
},
"$:/core/images/fold-others-button": {
"title": "$:/core/images/fold-others-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
},
"$:/core/images/folder": {
"title": "$:/core/images/folder",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>"
},
"$:/core/images/full-screen-button": {
"title": "$:/core/images/full-screen-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>"
},
"$:/core/images/github": {
"title": "$:/core/images/github",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>"
},
"$:/core/images/gitter": {
"title": "$:/core/images/gitter",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>"
},
"$:/core/images/globe": {
"title": "$:/core/images/globe",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>"
},
"$:/core/images/heading-1": {
"title": "$:/core/images/heading-1",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>"
},
"$:/core/images/heading-2": {
"title": "$:/core/images/heading-2",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>"
},
"$:/core/images/heading-3": {
"title": "$:/core/images/heading-3",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>"
},
"$:/core/images/heading-4": {
"title": "$:/core/images/heading-4",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>"
},
"$:/core/images/heading-5": {
"title": "$:/core/images/heading-5",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>"
},
"$:/core/images/heading-6": {
"title": "$:/core/images/heading-6",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>"
},
"$:/core/images/help": {
"title": "$:/core/images/help",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>"
},
"$:/core/images/home-button": {
"title": "$:/core/images/home-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>"
},
"$:/core/images/import-button": {
"title": "$:/core/images/import-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>"
},
"$:/core/images/info-button": {
"title": "$:/core/images/info-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>"
},
"$:/core/images/italic": {
"title": "$:/core/images/italic",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>"
},
"$:/core/images/left-arrow": {
"title": "$:/core/images/left-arrow",
"created": "20150315234410875",
"modified": "20150315235324760",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>"
},
"$:/core/images/line-width": {
"title": "$:/core/images/line-width",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>"
},
"$:/core/images/link": {
"title": "$:/core/images/link",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>"
},
"$:/core/images/linkify": {
"title": "$:/core/images/linkify",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>"
},
"$:/core/images/list-bullet": {
"title": "$:/core/images/list-bullet",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>"
},
"$:/core/images/list-number": {
"title": "$:/core/images/list-number",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>"
},
"$:/core/images/list": {
"title": "$:/core/images/list",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>"
},
"$:/core/images/locked-padlock": {
"title": "$:/core/images/locked-padlock",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
},
"$:/core/images/mail": {
"title": "$:/core/images/mail",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>"
},
"$:/core/images/menu-button": {
"title": "$:/core/images/menu-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>"
},
"$:/core/images/mono-block": {
"title": "$:/core/images/mono-block",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>"
},
"$:/core/images/mono-line": {
"title": "$:/core/images/mono-line",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>"
},
"$:/core/images/new-button": {
"title": "$:/core/images/new-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>"
},
"$:/core/images/new-here-button": {
"title": "$:/core/images/new-here-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>"
},
"$:/core/images/new-image-button": {
"title": "$:/core/images/new-image-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>"
},
"$:/core/images/new-journal-button": {
"title": "$:/core/images/new-journal-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><<now \"DD\">></tspan></text></g></svg>"
},
"$:/core/images/opacity": {
"title": "$:/core/images/opacity",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>"
},
"$:/core/images/open-window": {
"title": "$:/core/images/open-window",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>"
},
"$:/core/images/options-button": {
"title": "$:/core/images/options-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>"
},
"$:/core/images/paint": {
"title": "$:/core/images/paint",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>"
},
"$:/core/images/palette": {
"title": "$:/core/images/palette",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>"
},
"$:/core/images/permalink-button": {
"title": "$:/core/images/permalink-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>"
},
"$:/core/images/permaview-button": {
"title": "$:/core/images/permaview-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>"
},
"$:/core/images/picture": {
"title": "$:/core/images/picture",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>"
},
"$:/core/images/plugin-generic-language": {
"title": "$:/core/images/plugin-generic-language",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
},
"$:/core/images/plugin-generic-plugin": {
"title": "$:/core/images/plugin-generic-plugin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
},
"$:/core/images/plugin-generic-theme": {
"title": "$:/core/images/plugin-generic-theme",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>"
},
"$:/core/images/preview-closed": {
"title": "$:/core/images/preview-closed",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>"
},
"$:/core/images/preview-open": {
"title": "$:/core/images/preview-open",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>"
},
"$:/core/images/print-button": {
"title": "$:/core/images/print-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>"
},
"$:/core/images/quote": {
"title": "$:/core/images/quote",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>"
},
"$:/core/images/refresh-button": {
"title": "$:/core/images/refresh-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>"
},
"$:/core/images/right-arrow": {
"title": "$:/core/images/right-arrow",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>"
},
"$:/core/images/rotate-left": {
"title": "$:/core/images/rotate-left",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>"
},
"$:/core/images/save-button": {
"title": "$:/core/images/save-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>"
},
"$:/core/images/size": {
"title": "$:/core/images/size",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>"
},
"$:/core/images/spiral": {
"title": "$:/core/images/spiral",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>"
},
"$:/core/images/stamp": {
"title": "$:/core/images/stamp",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>"
},
"$:/core/images/star-filled": {
"title": "$:/core/images/star-filled",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>"
},
"$:/core/images/storyview-classic": {
"title": "$:/core/images/storyview-classic",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
},
"$:/core/images/storyview-pop": {
"title": "$:/core/images/storyview-pop",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
},
"$:/core/images/storyview-zoomin": {
"title": "$:/core/images/storyview-zoomin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>"
},
"$:/core/images/strikethrough": {
"title": "$:/core/images/strikethrough",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>"
},
"$:/core/images/subscript": {
"title": "$:/core/images/subscript",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
},
"$:/core/images/superscript": {
"title": "$:/core/images/superscript",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
},
"$:/core/images/tag-button": {
"title": "$:/core/images/tag-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>"
},
"$:/core/images/theme-button": {
"title": "$:/core/images/theme-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>"
},
"$:/core/images/timestamp-off": {
"title": "$:/core/images/timestamp-off",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>"
},
"$:/core/images/timestamp-on": {
"title": "$:/core/images/timestamp-on",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>"
},
"$:/core/images/tip": {
"title": "$:/core/images/tip",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>"
},
"$:/core/images/transcludify": {
"title": "$:/core/images/transcludify",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>"
},
"$:/core/images/twitter": {
"title": "$:/core/images/twitter",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>"
},
"$:/core/images/underline": {
"title": "$:/core/images/underline",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>"
},
"$:/core/images/unfold-all-button": {
"title": "$:/core/images/unfold-all-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
},
"$:/core/images/unfold-button": {
"title": "$:/core/images/unfold-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
},
"$:/core/images/unlocked-padlock": {
"title": "$:/core/images/unlocked-padlock",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
},
"$:/core/images/up-arrow": {
"title": "$:/core/images/up-arrow",
"created": "20150316000544368",
"modified": "20150316000831867",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>"
},
"$:/core/images/video": {
"title": "$:/core/images/video",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>"
},
"$:/core/images/warning": {
"title": "$:/core/images/warning",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>"
},
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "advanced search"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Advanced search"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "cancel"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Discard changes to this tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "clone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone this tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "close"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Close this tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "close all"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Close all tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "close others"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Close other tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "control panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Open control panel"
},
"$:/language/Buttons/CopyToClipboard/Caption": {
"title": "$:/language/Buttons/CopyToClipboard/Caption",
"text": "copy to clipboard"
},
"$:/language/Buttons/CopyToClipboard/Hint": {
"title": "$:/language/Buttons/CopyToClipboard/Hint",
"text": "Copy this text to the clipboard"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "delete"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Delete this tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "edit"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Edit this tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "encryption"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Set or clear a password for saving this wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "clear password"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Clear the password and save this wiki without encryption"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "set password"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Set a password for saving this wiki with encryption"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "export all"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Export all tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "export tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Export tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "export tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Export tiddlers"
},
"$:/language/Buttons/SidebarSearch/Hint": {
"title": "$:/language/Buttons/SidebarSearch/Hint",
"text": "Select the sidebar search field"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "fold tiddler"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Fold the body of this tiddler"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "fold-bar"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Optional bars to fold and unfold tiddlers"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "unfold tiddler"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Unfold the body of this tiddler"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "fold other tiddlers"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Fold the bodies of other opened tiddlers"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "fold all tiddlers"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Fold the bodies of all opened tiddlers"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "unfold all tiddlers"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Unfold the bodies of all opened tiddlers"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "full-screen"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Enter or leave full-screen mode"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "help"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Show help panel"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Import many types of file including text, image, TiddlyWiki or JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Show information for this tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Open the default tiddlers"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "language"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choose the user interface language"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "tiddler manager"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "Open tiddler manager"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "more"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "More actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "new here"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Create a new tiddler tagged with this one"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "new journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Create a new journal tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "new journal here"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Create a new journal tiddler tagged with this one"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "new image"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Create a new image tiddler"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "new Markdown tiddler"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Create a new Markdown tiddler"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "new tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Create a new tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "open in new window"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Open tiddler in new window"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Choose the colour palette"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Set browser address bar to a direct link to this tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Set browser address bar to a direct link to all the tiddlers in this story"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "print page"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "Print the current page"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "refresh"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Perform a full refresh of the wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "ok"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Confirm changes to this tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "save changes"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Save changes"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "storyview"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choose the story visualisation"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "hide sidebar"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Hide sidebar"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "show sidebar"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Show sidebar"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "tag manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Open tag manager"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "timestamps"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "Choose whether modifications update timestamps"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "timestamps are on"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "Update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "timestamps are off"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "Don't update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choose the display theme"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "bold"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Apply bold formatting to selection"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "clear"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Clear image to solid colour"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "editor height"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Automatically adjust height to fit content"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Fixed height:"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Choose the height of the text editor"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "excise"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Perform excision"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Macro name:"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Title of new tiddler:"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Replace excised text with:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "macro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "link"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "transclusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Tag new tiddler with the title of this tiddler"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Warning: tiddler already exists"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Excise the selected text into a new tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "heading 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Apply heading level 1 formatting to lines containing selection"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "heading 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Apply heading level 2 formatting to lines containing selection"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "heading 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Apply heading level 3 formatting to lines containing selection"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "heading 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Apply heading level 4 formatting to lines containing selection"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "heading 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Apply heading level 5 formatting to lines containing selection"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "heading 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Apply heading level 6 formatting to lines containing selection"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "italic"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Apply italic formatting to selection"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "line width"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Set line width for painting"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "link"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Create wikitext link"
},
"$:/language/Buttons/Linkify/Caption": {
"title": "$:/language/Buttons/Linkify/Caption",
"text": "wikilink"
},
"$:/language/Buttons/Linkify/Hint": {
"title": "$:/language/Buttons/Linkify/Hint",
"text": "Wrap selection in square brackets"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "bulleted list"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Apply bulleted list formatting to lines containing selection"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "numbered list"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Apply numbered list formatting to lines containing selection"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "monospaced block"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Apply monospaced block formatting to lines containing selection"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "monospaced"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Apply monospaced character formatting to selection"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "opacity"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Set painting opacity"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "paint colour"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Set painting colour"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "picture"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Insert picture"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "preview"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Show preview pane"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "preview type"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Choose preview type"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "quote"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Apply quoted text formatting to lines containing selection"
},
"$:/language/Buttons/RotateLeft/Caption": {
"title": "$:/language/Buttons/RotateLeft/Caption",
"text": "rotate left"
},
"$:/language/Buttons/RotateLeft/Hint": {
"title": "$:/language/Buttons/RotateLeft/Hint",
"text": "Rotate image left by 90 degrees"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "image size"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Height:"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Resize image"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Width:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Set image size"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "stamp"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Add your own"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Insert a preconfigured snippet of text"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Name as shown in menu"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "strikethrough"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Apply strikethrough formatting to selection"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "subscript"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Apply subscript formatting to selection"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "superscript"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Apply superscript formatting to selection"
},
"$:/language/Buttons/ToggleSidebar/Hint": {
"title": "$:/language/Buttons/ToggleSidebar/Hint",
"text": "Toggle the sidebar visibility"
},
"$:/language/Buttons/Transcludify/Caption": {
"title": "$:/language/Buttons/Transcludify/Caption",
"text": "transclusion"
},
"$:/language/Buttons/Transcludify/Hint": {
"title": "$:/language/Buttons/Transcludify/Hint",
"text": "Wrap selection in curly brackets"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "underline"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Apply underline formatting to selection"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Advanced"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Internal information about this TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Appearance"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Ways to customise the appearance of your TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Animation duration"
},
"$:/language/ControlPanel/Basics/AutoFocus/Prompt": {
"title": "$:/language/ControlPanel/Basics/AutoFocus/Prompt",
"text": "Default focus field for new tiddlers"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basics"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Default tiddlers"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Choose which tiddlers are displayed at startup"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hello! Current language:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Title of new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "Text for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt",
"text": "Title of new tiddlers"
},
"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt",
"text": "Tags for new tiddlers"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Number of overridden shadow tiddlers"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Number of shadow tiddlers"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Subtitle"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Number of system tiddlers"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Number of tags"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Number of tiddlers"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Title of this ~TiddlyWiki"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Username for signing edits"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki version"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Types"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "These tiddlers determine which editor is used to edit specific tiddler types."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information about this TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Type shortcut here"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "add shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Keyboard Shortcuts"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Manage keyboard shortcut assignments"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "No keyboard shortcuts assigned"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "remove keyboard shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "All platforms"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Macintosh platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Non-Macintosh platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Linux platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Non-Linux platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Windows platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Non-Windows platforms only"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Loaded Modules"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "clone"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "It is recommended that you clone this shadow palette before editing it"
},
"$:/language/ControlPanel/Palette/Editor/Delete/Hint": {
"title": "$:/language/ControlPanel/Palette/Editor/Delete/Hint",
"text": "delete this entry from the current palette"
},
"$:/language/ControlPanel/Palette/Editor/Names/External/Show": {
"title": "$:/language/ControlPanel/Palette/Editor/Names/External/Show",
"text": "Show color names that are not part of the current palette"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "This shadow palette has been modified"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Editing"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "reset"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "hide editor"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Current palette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "show editor"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parsing"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation."
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Parse Rules"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Parse Rules"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Parse Rules"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Get more plugins"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Install plugins from the official library"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/AlsoRequires": {
"title": "$:/language/ControlPanel/Plugins/AlsoRequires",
"text": "Also requires:"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "disable"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Disable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(disabled)"
},
"$:/language/ControlPanel/Plugins/Downgrade/Caption": {
"title": "$:/language/ControlPanel/Plugins/Downgrade/Caption",
"text": "downgrade"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "None"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "enable"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Enable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "install"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Currently installed plugins:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Languages"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Language pack plugins"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "This plugin is not currently installed"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "open plugin library"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "close plugin library"
},
"$:/language/ControlPanel/Plugins/PluginWillRequireReload": {
"title": "$:/language/ControlPanel/Plugins/PluginWillRequireReload",
"text": "(requires reload)"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "reinstall"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Themes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Theme plugins"
},
"$:/language/ControlPanel/Plugins/Update/Caption": {
"title": "$:/language/ControlPanel/Plugins/Update/Caption",
"text": "update"
},
"$:/language/ControlPanel/Plugins/Updates/Caption": {
"title": "$:/language/ControlPanel/Plugins/Updates/Caption",
"text": "Updates"
},
"$:/language/ControlPanel/Plugins/Updates/Hint": {
"title": "$:/language/ControlPanel/Plugins/Updates/Hint",
"text": "Available updates to installed plugins"
},
"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption": {
"title": "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption",
"text": "Update <<update-count>> plugins"
},
"$:/language/ControlPanel/Plugins/SubPluginPrompt": {
"title": "$:/language/ControlPanel/Plugins/SubPluginPrompt",
"text": "With <<count>> sub-plugins available"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "Permit automatic saving for the download saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "Enable Autosave for Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "These settings apply to the HTML5-compatible download saver"
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "General"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "These settings apply to all the loaded savers"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module"
},
"$:/language/ControlPanel/Saving/GitService/Branch": {
"title": "$:/language/ControlPanel/Saving/GitService/Branch",
"text": "Target branch for saving"
},
"$:/language/ControlPanel/Saving/GitService/CommitMessage": {
"title": "$:/language/ControlPanel/Saving/GitService/CommitMessage",
"text": "Saved by TiddlyWiki"
},
"$:/language/ControlPanel/Saving/GitService/Description": {
"title": "$:/language/ControlPanel/Saving/GitService/Description",
"text": "These settings are only used when saving to <<service-name>>"
},
"$:/language/ControlPanel/Saving/GitService/Filename": {
"title": "$:/language/ControlPanel/Saving/GitService/Filename",
"text": "Filename of target file (e.g. `index.html`)"
},
"$:/language/ControlPanel/Saving/GitService/Path": {
"title": "$:/language/ControlPanel/Saving/GitService/Path",
"text": "Path to target file (e.g. `/wiki/`)"
},
"$:/language/ControlPanel/Saving/GitService/Repo": {
"title": "$:/language/ControlPanel/Saving/GitService/Repo",
"text": "Target repository (e.g. `Jermolene/TiddlyWiki5`)"
},
"$:/language/ControlPanel/Saving/GitService/ServerURL": {
"title": "$:/language/ControlPanel/Saving/GitService/ServerURL",
"text": "Server API URL"
},
"$:/language/ControlPanel/Saving/GitService/UserName": {
"title": "$:/language/ControlPanel/Saving/GitService/UserName",
"text": "Username"
},
"$:/language/ControlPanel/Saving/GitService/GitHub/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/GitHub/Caption",
"text": "~GitHub Saver"
},
"$:/language/ControlPanel/Saving/GitService/GitHub/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/GitHub/Password",
"text": "Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)"
},
"$:/language/ControlPanel/Saving/GitService/GitLab/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/GitLab/Caption",
"text": "~GitLab Saver"
},
"$:/language/ControlPanel/Saving/GitService/GitLab/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/GitLab/Password",
"text": "Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)"
},
"$:/language/ControlPanel/Saving/GitService/Gitea/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/Gitea/Caption",
"text": "Gitea Saver"
},
"$:/language/ControlPanel/Saving/GitService/Gitea/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/Gitea/Password",
"text": "Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Advanced Settings"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Backup Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Backups"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "~TiddlySpot Saver"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Upload Filename"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Password"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Upload Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Wiki Name"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Autosave"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Do not save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Attempt to automatically save changes during editing when using a supporting saver"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Camel Case Wiki Links"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Enable automatic ~CamelCase linking"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Settings"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "Enable or disable the editor toolbar:"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "Show editor toolbar"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "Tiddler Info Panel Mode"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "Control when the tiddler info panel closes:"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "Tiddler info panel closes automatically"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "Tiddler info panel stays open until explicitly closed"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "These settings let you customise the behaviour of TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Address Bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Behaviour of the browser address bar when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Do not update the address bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Include the target tiddler"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Include the target tiddler and the current story sequence"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Navigation History"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Update browser history when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Do not update history"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Update history"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption",
"text": "Permalink/permaview Mode"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint",
"text": "Choose how permalink/permaview is handled:"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description",
"text": "Copy permalink/permaview URL to clipboard"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description",
"text": "Update address bar with permalink/permaview URL"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Performance Instrumentation"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Enable performance instrumentation"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Toolbar Button Style"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Choose the style for toolbar buttons:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Borderless"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Boxed"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Rounded"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Default toolbar button appearance:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Include icon"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Include text"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Default Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Specify which sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption",
"text": "Default More Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint",
"text": "Specify which More sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Tiddler Opening Behaviour"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation from //within// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation from //outside// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Open above the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Open below the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Open at the top of the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Open at the bottom of the story river"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Tiddler Titles"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Optionally display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Do not display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Wiki Links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Choose whether to link to tiddlers that do not exist yet"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Enable links to missing tiddlers"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Story View"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Current view:"
},
"$:/language/ControlPanel/Stylesheets/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Caption",
"text": "Stylesheets"
},
"$:/language/ControlPanel/Stylesheets/Expand/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Expand/Caption",
"text": "Expand All"
},
"$:/language/ControlPanel/Stylesheets/Hint": {
"title": "$:/language/ControlPanel/Stylesheets/Hint",
"text": "This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>"
},
"$:/language/ControlPanel/Stylesheets/Restore/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Restore/Caption",
"text": "Restore"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Current theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Fields"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbars"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Select which toolbar buttons are displayed"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Download full wiki"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "st"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "nd"
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "rd"
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "th"
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "th"
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "th"
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "th"
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "th"
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "th"
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "th"
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "th"
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "th"
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "th"
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "th"
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "th"
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "th"
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "th"
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "th"
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "th"
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "th"
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "st"
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "nd"
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "rd"
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "th"
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "th"
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "th"
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "th"
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "th"
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "th"
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "th"
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "st"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sunday"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Monday"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Tuesday"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Wednesday"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Thursday"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Friday"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Saturday"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "January"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "February"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "March"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "May"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "June"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "July"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "October"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "December"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Sun"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mon"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Tue"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Wed"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Thu"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fri"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sat"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "May"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dec"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> days from now"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> hours from now"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> minutes from now"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> months from now"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 second from now"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> seconds from now"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> years from now"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> days ago"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> hours ago"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> minutes ago"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> months ago"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 second ago"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> seconds ago"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> years ago"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "A sub-operator for the ''all'' filter operator."
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations that may be used with the RevealWidget."
},
"$:/language/Docs/ModuleTypes/authenticator": {
"title": "$:/language/Docs/ModuleTypes/authenticator",
"text": "Defines how requests are authenticated by the built-in HTTP server."
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "A bitmap editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commands that can be executed under Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Data to be inserted into `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individual filter operator methods."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Global data to be inserted into `$tw`."
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operands for the ''is'' filter operator."
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "Generic module type for general purpose JavaScript modules."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript macro definitions."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parsers for different content types."
},
"$:/language/Docs/ModuleTypes/route": {
"title": "$:/language/Docs/ModuleTypes/route",
"text": "Defines how individual URL patterns are handled by the built-in HTTP server."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Savers handle different methods for saving files from the browser."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Startup functions."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Story views customise the animation and behaviour of list widgets."
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "A text editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Converts different content types into tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Defines the behaviour of an individual tiddler field."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Adds methods to the `$tw.Tiddler` prototype."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applies upgrade processing to tiddlers during an upgrade/import."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Adds methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Adds Node.js-specific methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets encapsulate DOM rendering and refreshing."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Adds methods to `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Individual parser rules for the main WikiText parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Alert background"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Alert border"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Alert highlight"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Alert muted foreground"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "General background"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Blockquote bar"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Default button background"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Default button border"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Default button foreground"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Unsaved changes indicator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code background"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code border"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code foreground"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Download button background"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Download button foreground"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Dragger background"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Dragger foreground"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Dropdown background"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Dropdown border"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Dropdown tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Dropdown tab background"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Dropzone background"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "External link background hover"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "External link background visited"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "External link background"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "External link foreground hover"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "External link foreground visited"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "External link foreground"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "General foreground"
},
"$:/language/Docs/PaletteColours/menubar-background": {
"title": "$:/language/Docs/PaletteColours/menubar-background",
"text": "Menu bar background"
},
"$:/language/Docs/PaletteColours/menubar-foreground": {
"title": "$:/language/Docs/PaletteColours/menubar-foreground",
"text": "Menu bar foreground"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Message box background"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Message box border"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Message box foreground"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modal backdrop"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modal background"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modal border"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modal footer background"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modal footer border"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modal header border"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "General muted foreground"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Notification background"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Notification border"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Page background"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Preformatted code background"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Preformatted code border"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "General primary"
},
"$:/language/Docs/PaletteColours/select-tag-background": {
"title": "$:/language/Docs/PaletteColours/select-tag-background",
"text": "`<select>` element background"
},
"$:/language/Docs/PaletteColours/select-tag-foreground": {
"title": "$:/language/Docs/PaletteColours/select-tag-foreground",
"text": "`<select>` element text"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Sidebar button foreground"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Sidebar controls foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Sidebar controls foreground"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Sidebar foreground shadow"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Sidebar foreground"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Sidebar muted foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Sidebar muted foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Sidebar tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Sidebar tab background"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Sidebar tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Sidebar tab border"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Sidebar tab divider"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Sidebar tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Sidebar tab foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Sidebar tiddler link foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Sidebar tiddler link foreground"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "Site title foreground"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Static alert foreground"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Tab background"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Tab border"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Tab divider"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Tab foreground"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Table border"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Table footer background"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Table header background"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag background"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag foreground"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler background"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler border"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler controls foreground hover"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler controls foreground for selected controls"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler controls foreground"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler editor background"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler editor border image"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler editor border"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler editor background for even fields"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler editor background for odd fields"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler info panel background"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler info panel border"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler info panel tab background"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler link background"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler link foreground"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler subtitle foreground"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler title foreground"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Toolbar 'new tiddler' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Toolbar 'options' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Toolbar 'save' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Toolbar 'info' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Toolbar 'edit' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Toolbar 'close' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Toolbar 'delete' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Toolbar 'cancel' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Toolbar 'done' button foreground"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Untagged pill background"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Very muted foreground"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Type the text for this tiddler"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "output"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "remove field"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Remove field"
},
"$:/language/EditTemplate/Field/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Field/Dropdown/Caption",
"text": "field list"
},
"$:/language/EditTemplate/Field/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Field/Dropdown/Hint",
"text": "Show field list"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Fields/Add/Button/Hint": {
"title": "$:/language/EditTemplate/Fields/Add/Button/Hint",
"text": "Add the new field to the tiddler"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "field name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Add a new field:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "field value"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "System fields"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "User fields"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Tags/Add/Button/Hint": {
"title": "$:/language/EditTemplate/Tags/Add/Button/Hint",
"text": "add tag"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "tag name"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "tag list"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Show tag list"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "Target tiddler already exists"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"
},
"$:/language/EditTemplate/Title/References/Prompt": {
"title": "$:/language/EditTemplate/Title/References/Prompt",
"text": "The following references to this tiddler will not be automatically updated:"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "content type list"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Show content type list"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "delete content type"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Delete content type"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "content type"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "Static HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON file"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV file"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" file"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "The full URI of an external image tiddler"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "The name of the bag from which a tiddler came"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "The text to be displayed on a tab or button"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "The CSS color value associated with a tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "The date a tiddler was created"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "The name of the person who created a tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "For a plugin, lists the dependent plugin titles"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "The descriptive text for a plugin, or a modal dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "For draft tiddlers, contains the proposed new title of the tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "The footer text for a wizard"
},
"$:/language/Docs/Fields/hide-body": {
"title": "$:/language/Docs/Fields/hide-body",
"text": "The view template will hide bodies of tiddlers if set to: ''yes''"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "The title of the tiddler containing the icon associated with a tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "An ordered list of tiddler titles associated with a tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "The date and time at which a tiddler was last modified"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "The tiddler title associated with the person who last modified a tiddler"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "The human readable name associated with a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "A numerical value indicating the priority of a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "The type of plugin in a plugin tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "The revision of the tiddler held at the server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date of a TiddlyWiki release"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "The source URL associated with a tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "The subtitle text for a wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "A list of tags associated with a tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "The body text of a tiddler"
},
"$:/language/Docs/Fields/throttle.refresh": {
"title": "$:/language/Docs/Fields/throttle.refresh",
"text": "If present, throttles refreshes of this tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "The unique name of a tiddler"
},
"$:/language/Docs/Fields/toc-link": {
"title": "$:/language/Docs/Fields/toc-link",
"text": "Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "The content type of a tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Version information for a plugin"
},
"$:/language/Docs/Fields/_is_skinny": {
"title": "$:/language/Docs/Fields/_is_skinny",
"text": "If present, indicates that the tiddler text field must be loaded from the server"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "All tiddlers except system tiddlers"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Recently modified tiddlers, including system tiddlers"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Recently modified tiddlers"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "All tags except system tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Missing tiddlers"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Draft tiddlers"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Orphan tiddlers"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System tiddlers"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Shadow tiddlers"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Overridden shadow tiddlers"
},
"$:/language/Filters/SessionTiddlers": {
"title": "$:/language/Filters/SessionTiddlers",
"text": "Tiddlers modified since the wiki was loaded"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System tags"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "Non wiki-text tiddlers"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Automatically run configured commands",
"text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Clear a password for subsequent crypto operations",
"text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/deletetiddlers": {
"title": "$:/language/Help/deletetiddlers",
"description": "Deletes a group of tiddlers",
"text": "<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Lists the available editions of TiddlyWiki",
"text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "Fetch tiddlers from wiki by URL",
"text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Display help for TiddlyWiki commands",
"text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
},
"$:/language/Help/import": {
"title": "$:/language/Help/import",
"description": "Import tiddlers from a file",
"text": "Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise a new wiki folder",
"text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
},
"$:/language/Help/listen": {
"title": "$:/language/Help/listen",
"description": "Provides an HTTP server interface to TiddlyWiki",
"text": "Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of header to be used for trusted authentication\n* ''readers'' - comma separated list of principals allowed to read from this wiki\n* ''writers'' - comma separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Load tiddlers from a file",
"text": "Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construct library plugin required by upgrade process",
"text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "No such help item"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Set the base output directory for subsequent commands",
"text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Set a password for subsequent crypto operations",
"text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
},
"$:/language/Help/render": {
"title": "$:/language/Help/render",
"description": "Renders individual tiddlers to files",
"text": "Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variable\n* ''value'': Value of optional variable\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Render an individual tiddler as a specified ContentType",
"text": "(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Render tiddlers matching a filter to a specified ContentType",
"text": "(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
},
"$:/language/Help/save": {
"title": "$:/language/Help/save",
"description": "Saves individual raw tiddlers to files",
"text": "Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Saves a raw tiddler to a file",
"text": "(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Saves a group of raw tiddlers to a directory",
"text": "(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
},
"$:/language/Help/savewikifolder": {
"title": "$:/language/Help/savewikifolder",
"description": "Saves a wiki to a new wiki folder",
"text": "<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)",
"text": "Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prepares external tiddlers for use",
"text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Unpack the payload tiddlers from a plugin",
"text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Triggers verbose output mode",
"text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Displays the version number of TiddlyWiki",
"text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "The following tiddlers were imported:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Cancel"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "These tiddlers are ready to import:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Import"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Select"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Title"
},
"$:/language/Import/Listing/Preview": {
"title": "$:/language/Import/Listing/Preview",
"text": "Preview:"
},
"$:/language/Import/Listing/Preview/Text": {
"title": "$:/language/Import/Listing/Preview/Text",
"text": "Text"
},
"$:/language/Import/Listing/Preview/TextRaw": {
"title": "$:/language/Import/Listing/Preview/TextRaw",
"text": "Text (Raw)"
},
"$:/language/Import/Listing/Preview/Fields": {
"title": "$:/language/Import/Listing/Preview/Fields",
"text": "Fields"
},
"$:/language/Import/Listing/Preview/Diff": {
"title": "$:/language/Import/Listing/Preview/Diff",
"text": "Diff"
},
"$:/language/Import/Listing/Preview/DiffFields": {
"title": "$:/language/Import/Listing/Preview/DiffFields",
"text": "Diff (Fields)"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Blocked incompatible or obsolete plugin"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Blocked temporary state tiddler"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Blocked system tiddler"
},
"$:/language/Import/Upgrader/System/Warning": {
"title": "$:/language/Import/Upgrader/System/Warning",
"text": "Core module tiddler"
},
"$:/language/Import/Upgrader/System/Alert": {
"title": "$:/language/Import/Upgrader/System/Alert",
"text": "You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrated theme tweak from <$text text=<<from>>/>"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "This tiddler contains binary data"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details."
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "close all"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "Recent:"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "count"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "New Tiddler"
},
"$:/language/Diffs/CountMessage": {
"title": "$:/language/Diffs/CountMessage",
"text": "<<diff-count>> differences"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Drop here (or use the 'Escape' key to cancel)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Cancel"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Set a new password for this TiddlyWiki"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Username"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Password"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Repeat password"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Passwords do not match"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Set password"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Error"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "File changed on server"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Filter error"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Syntax error in filter expression"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Filter Error: Unknown operand for the 'is' filter operator"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Error loading plugin library"
},
"$:/language/Error/NetworkErrorAlert": {
"title": "$:/language/Error/NetworkErrorAlert",
"text": "`<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Recursive transclusion error in transclude widget"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Error retrieving skinny tiddler list"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Error saving to TWEdit"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Error while saving"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest error code"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Internal JavaScript Error"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Login to TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(none)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "Filter by tag:"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "Reverse order"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "Search"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "Search:"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "tags"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "tiddlers"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "Show:"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "Sort by:"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "Colour"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "Fields"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(none)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "Icon"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "Raw text"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "Tags"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "Tools"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified text"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "No"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Official ~TiddlyWiki Plugin Library"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DDth MMM YYYY"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "This is a system tiddler"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "Include system tiddlers"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Colour"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "Count"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icon"
},
"$:/language/TagManager/Icons/None": {
"title": "$:/language/TagManager/Icons/None",
"text": "None"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DDth MMM YYYY at hh12:0mmam"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "You have unsaved changes in TiddlyWiki"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Yes"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "https://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "https://tiddlywiki.com/static/SavingChanges.html",
"text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DDth MMM YYYY"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"tags": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Saved wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Starting to save wiki"
},
"$:/language/Notifications/CopiedToClipboard/Succeeded": {
"title": "$:/language/Notifications/CopiedToClipboard/Succeeded",
"text": "Copied to clipboard!"
},
"$:/language/Notifications/CopiedToClipboard/Failed": {
"title": "$:/language/Notifications/CopiedToClipboard/Failed",
"text": "Failed to copy to clipboard!"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "List"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "All matches:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Title matches:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Search"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "Search text too short"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Search for shadow tiddlers"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Search for standard tiddlers"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Search for system tiddlers"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "All"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Contents"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Drafts"
},
"$:/language/SideBar/Explorer/Caption": {
"title": "$:/language/SideBar/Explorer/Caption",
"text": "Explorer"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Missing"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "More"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Open"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphans"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Recent"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "a non-linear personal web notebook"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "My ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "List of tiddlers by tag",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Macro definition",
"text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table with 4 columns by 3 rows",
"text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table of Contents",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Theme Tweaks"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "You can tweak certain aspects of the ''Vanilla'' theme."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Options"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Sidebar layout"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Fixed story, fluid sidebar"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Fluid story, fixed sidebar"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "Sticky titles"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "Causes tiddler titles to \"stick\" to the top of the browser window"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Wrap long lines in code blocks"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Settings"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Font family"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "Code font family"
},
"$:/language/ThemeTweaks/Settings/EditorFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/EditorFontFamily",
"text": "Editor font family"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Page background image"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Page background image attachment"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Scroll with tiddlers"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Fixed to window"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Page background image size"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Cover"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Contain"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Sizes"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Font size"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Line height"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Font size for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Line height for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "Story left position"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "Story top position"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "how far the top margin of the story river<br>is from the top of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "Story right"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "how far the left margin of the sidebar <br>is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "Story width"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "the overall width of the story river"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Tiddler width"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "within the story river"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Sidebar breakpoint"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Sidebar width"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "the width of the sidebar in fluid-fixed layout"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Advanced"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "none"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "This plugin contains the following shadow tiddlers:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shadow Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "It is overridden by an ordinary tiddler"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Fields"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "List"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "This tiddler does not have a list"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listed"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "This tiddler is not listed by any others"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "References"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "No tiddlers link to this one"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "No tiddlers are tagged with this one"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript code",
"name": "application/javascript",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON data",
"name": "application/json",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Data dictionary",
"name": "application/x-tiddler-dictionary",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF image",
"name": "image/gif",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG image",
"name": "image/jpeg",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG image",
"name": "image/png",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Structured Vector Graphics image",
"name": "image/svg+xml",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO format icon file",
"name": "image/x-icon",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Static stylesheet",
"name": "text/css",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML markup",
"name": "text/html",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Plain text",
"name": "text/plain",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/languages/en-GB/icon": {
"title": "$:/languages/en-GB/icon",
"type": "image/svg+xml",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
},
"$:/languages/en-GB": {
"title": "$:/languages/en-GB",
"name": "en-GB",
"description": "English (British)",
"author": "JeremyRuston",
"core-version": ">=5.0.0\"",
"text": "Stub pseudo-plugin for the default language"
},
"$:/core/modules/commander.js": {
"title": "$:/core/modules/commander.js",
"text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\t\t\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/commands/build.js": {
"title": "$:/core/modules/commands/build.js",
"text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/clearpassword.js": {
"title": "$:/core/modules/commands/clearpassword.js",
"text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/deletetiddlers.js": {
"title": "$:/core/modules/commands/deletetiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/editions.js": {
"title": "$:/core/modules/commands/editions.js",
"text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/fetch.js": {
"title": "$:/core/modules/commands/fetch.js",
"text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = $tw.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t \tdata = [];\n\t self.commander.write(\"Reading \" + url + \": \");\n\t response.on(\"data\",function(chunk) {\n\t data.push(chunk);\n\t self.commander.write(\".\");\n\t });\n\t response.on(\"end\",function() {\n\t self.commander.write(\"\\n\");\n\t if(response.statusCode === 200) {\n\t\t self.processBody(Buffer.concat(data),type,options,url);\n\t\t callback(null);\n\t } else {\n\t \tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t \t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t \t} else {\n\t\t \treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url)\t \t\t\n\t \t}\n\t }\n\t \t});\n\t \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/help.js": {
"title": "$:/core/modules/commands/help.js",
"text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/import.js": {
"title": "$:/core/modules/commands/import.js",
"text": "/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/init.js": {
"title": "$:/core/modules/commands/init.js",
"text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/listen.js": {
"title": "$:/core/modules/commands/listen.js",
"text": "/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: [],\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/load.js": {
"title": "$:/core/modules/commands/load.js",
"text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/makelibrary.js": {
"title": "$:/core/modules/commands/makelibrary.js",
"text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),collectPlugins);\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers})\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/output.js": {
"title": "$:/core/modules/commands/output.js",
"text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/password.js": {
"title": "$:/core/modules/commands/password.js",
"text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/render.js": {
"title": "$:/core/modules/commands/render.js",
"text": "/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"render\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing tiddler filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvarName = this.params[4],\n\t\tvarValue = this.params[5],\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\tvariables = {currentTiddler: title};\n\t\tif(varName) {\n\t\t\tvariables[varName] = varValue || \"\";\n\t\t}\n\t\tvar widgetNode = wiki.makeWidget(parser,{variables: variables}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddler.js": {
"title": "$:/core/modules/commands/rendertiddler.js",
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddlers.js": {
"title": "$:/core/modules/commands/rendertiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/save.js": {
"title": "$:/core/modules/commands/save.js",
"text": "/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"save\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savelibrarytiddlers.js": {
"title": "$:/core/modules/commands/savelibrarytiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\tdoesRequireReload = !!$tw.wiki.doesPluginInfoRequireReload(pluginTiddlers),\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{\n\t\t\ttext: undefined,\n\t\t\treadme: readmeContent,\n\t\t\t\"requires-reload\": doesRequireReload ? \"yes\" : \"no\",\n\t\t\ticon: iconContent\n\t\t}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddler.js": {
"title": "$:/core/modules/commands/savetiddler.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddlers.js": {
"title": "$:/core/modules/commands/savetiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savewikifolder.js": {
"title": "$:/core/modules/commands/savewikifolder.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [<filter>]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],this.params[1],this.commander);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter || \"[all[tiddlers]]\";\n\tthis.commander = commander;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type] || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = JSON.parse(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler) {\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\twiki: this.wiki\n\t});\n\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/server.js": {
"title": "$:/core/modules/commands/server.js",
"text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/setfield.js": {
"title": "$:/core/modules/commands/setfield.js",
"text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/unpackplugin.js": {
"title": "$:/core/modules/commands/unpackplugin.js",
"text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/verbose.js": {
"title": "$:/core/modules/commands/verbose.js",
"text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/version.js": {
"title": "$:/core/modules/commands/version.js",
"text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/config.js": {
"title": "$:/core/modules/config.js",
"text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
"type": "application/javascript",
"module-type": "config"
},
"$:/core/modules/deserializers.js": {
"title": "$:/core/modules/deserializers.js",
"text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/core/modules/editor/engines/framed.js": {
"title": "$:/core/modules/editor/engines/framed.js",
"text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\tthis.domNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/engines/simple.js": {
"title": "$:/core/modules/editor/engines/simple.js",
"text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/factory.js": {
"title": "$:/core/modules/editor/factory.js",
"text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/operations/bitmap/clear.js": {
"title": "$:/core/modules/editor/operations/bitmap/clear.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/resize.js": {
"title": "$:/core/modules/editor/operations/bitmap/resize.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/rotate-left.js": {
"title": "$:/core/modules/editor/operations/bitmap/rotate-left.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/text/excise.js": {
"title": "$:/core/modules/editor/operations/text/excise.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/make-link.js": {
"title": "$:/core/modules/editor/operations/text/make-link.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/prefix-lines.js": {
"title": "$:/core/modules/editor/operations/text/prefix-lines.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\tvar targetCount = parseInt(event.paramObject.count + \"\",10);\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== targetCount) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-all.js": {
"title": "$:/core/modules/editor/operations/text/replace-all.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-selection.js": {
"title": "$:/core/modules/editor/operations/text/replace-selection.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/save-selection.js": {
"title": "$:/core/modules/editor/operations/text/save-selection.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-lines.js": {
"title": "$:/core/modules/editor/operations/text/wrap-lines.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-selection.js": {
"title": "$:/core/modules/editor/operations/text/wrap-selection.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\toperation.replacement = \"\";\n\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/filters/addprefix.js": {
"title": "$:/core/modules/filters/addprefix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/addsuffix.js": {
"title": "$:/core/modules/filters/addsuffix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/after.js": {
"title": "$:/core/modules/filters/after.js",
"text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/all/current.js": {
"title": "$:/core/modules/filters/all/current.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/missing.js": {
"title": "$:/core/modules/filters/all/missing.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/orphans.js": {
"title": "$:/core/modules/filters/all/orphans.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/shadows.js": {
"title": "$:/core/modules/filters/all/shadows.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tags.js": {
"title": "$:/core/modules/filters/all/tags.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tiddlers.js": {
"title": "$:/core/modules/filters/all/tiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all.js": {
"title": "$:/core/modules/filters/all.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/backlinks.js": {
"title": "$:/core/modules/filters/backlinks.js",
"text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/before.js": {
"title": "$:/core/modules/filters/before.js",
"text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/commands.js": {
"title": "$:/core/modules/filters/commands.js",
"text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/compare.js": {
"title": "$:/core/modules/filters/compare.js",
"text": "/*\\\ntitle: $:/core/modules/filters/compare.js\ntype: application/javascript\nmodule-type: filteroperator\n\nGeneral purpose comparison operator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.compare = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = (suffixes[0] || [])[0],\n\t\tmode = (suffixes[1] || [])[0],\n\t\ttypeFn = types[type] || types.number,\n\t\tmodeFn = modes[mode] || modes.eq,\n\t\tinvert = operator.prefix === \"!\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tif(modeFn(typeFn(title,operator.operand)) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nvar types = {\n\t\"number\": function(a,b) {\n\t\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\n\t},\n\t\"integer\": function(a,b) {\n\t\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\n\t},\n\t\"string\": function(a,b) {\n\t\treturn compare(\"\" + a,\"\" +b);\n\t},\n\t\"date\": function(a,b) {\n\t\tvar dateA = $tw.utils.parseDate(a),\n\t\t\tdateB = $tw.utils.parseDate(b);\n\t\tif(!isFinite(dateA)) {\n\t\t\tdateA = new Date(0);\n\t\t}\n\t\tif(!isFinite(dateB)) {\n\t\t\tdateB = new Date(0);\n\t\t}\n\t\treturn compare(dateA,dateB);\n\t},\n\t\"version\": function(a,b) {\n\t\treturn $tw.utils.compareVersions(a,b);\n\t}\n};\n\nfunction compare(a,b) {\n\tif(a > b) {\n\t\treturn +1;\n\t} else if(a < b) {\n\t\treturn -1;\n\t} else {\n\t\treturn 0;\n\t}\n};\n\nvar modes = {\n\t\"eq\": function(value) {return value === 0;},\n\t\"ne\": function(value) {return value !== 0;},\n\t\"gteq\": function(value) {return value >= 0;},\n\t\"gt\": function(value) {return value > 0;},\n\t\"lteq\": function(value) {return value <= 0;},\n\t\"lt\": function(value) {return value < 0;}\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/contains.js": {
"title": "$:/core/modules/filters/contains.js",
"text": "/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"list\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/count.js": {
"title": "$:/core/modules/filters/count.js",
"text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/days.js": {
"title": "$:/core/modules/filters/days.js",
"text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/each.js": {
"title": "$:/core/modules/filters/each.js",
"text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\tvalue,values = {},\n\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/eachday.js": {
"title": "$:/core/modules/filters/eachday.js",
"text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editiondescription.js": {
"title": "$:/core/modules/filters/editiondescription.js",
"text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editions.js": {
"title": "$:/core/modules/filters/editions.js",
"text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/else.js": {
"title": "$:/core/modules/filters/else.js",
"text": "/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/decodeuricomponent.js": {
"title": "$:/core/modules/filters/decodeuricomponent.js",
"text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURIComponent(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURI(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push(CSS.escape(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/enlist.js": {
"title": "$:/core/modules/filters/enlist.js",
"text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/field.js": {
"title": "$:/core/modules/filters/field.js",
"text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/fields.js": {
"title": "$:/core/modules/filters/fields.js",
"text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName,\n\t\tsuffixes = (operator.suffixes || [])[0] || [],\n\t\toperand = $tw.utils.parseStringArray(operator.operand);\n\t\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(suffixes.indexOf(\"include\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \"\";\n\t\t\t\t}\n\t\t\t} else if (suffixes.indexOf(\"exclude\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? \"\" : $tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else if\n\t\t\telse {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else\n\t\t} // if (tiddler)\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/get.js": {
"title": "$:/core/modules/filters/get.js",
"text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getindex.js": {
"title": "$:/core/modules/filters/getindex.js",
"text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getvariable.js": {
"title": "$:/core/modules/filters/getvariable.js",
"text": "/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/has.js": {
"title": "$:/core/modules/filters/has.js",
"text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field or index\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse if(operator.suffix === \"index\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop($tw.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop($tw.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === \"\")) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\t\t\t\t\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/haschanged.js": {
"title": "$:/core/modules/filters/haschanged.js",
"text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/indexes.js": {
"title": "$:/core/modules/filters/indexes.js",
"text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/insertbefore.js": {
"title": "$:/core/modules/filters/insertbefore.js",
"text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/is/binary.js": {
"title": "$:/core/modules/filters/is/binary.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/binary.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[binary]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.binary = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/blank.js": {
"title": "$:/core/modules/filters/is/blank.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/current.js": {
"title": "$:/core/modules/filters/is/current.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/image.js": {
"title": "$:/core/modules/filters/is/image.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/missing.js": {
"title": "$:/core/modules/filters/is/missing.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/orphan.js": {
"title": "$:/core/modules/filters/is/orphan.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/shadow.js": {
"title": "$:/core/modules/filters/is/shadow.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/system.js": {
"title": "$:/core/modules/filters/is/system.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tag.js": {
"title": "$:/core/modules/filters/is/tag.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tiddler.js": {
"title": "$:/core/modules/filters/is/tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/variable.js": {
"title": "$:/core/modules/filters/is/variable.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!(title in options.widget.variables)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title in options.widget.variables) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is.js": {
"title": "$:/core/modules/filters/is.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/limit.js": {
"title": "$:/core/modules/filters/limit.js",
"text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/links.js": {
"title": "$:/core/modules/filters/links.js",
"text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/list.js": {
"title": "$:/core/modules/filters/list.js",
"text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listed.js": {
"title": "$:/core/modules/filters/listed.js",
"text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listops.js": {
"title": "$:/core/modules/filters/listops.js",
"text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/lookup.js": {
"title": "$:/core/modules/filters/lookup.js",
"text": "/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<field>[<prefix>]]\n\nPrepends the prefix to the selected items and returns the specified field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.getTiddlerText(operator.operand + title) || options.wiki.getTiddlerText(operator.operand + operator.suffix));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/match.js": {
"title": "$:/core/modules/filters/match.js",
"text": "/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/math.js": {
"title": "$:/core/modules/filters/math.js",
"text": "/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a)}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a)}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a)}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a)}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a)}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a)}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value)},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value)},\n\tInfinity // Initial value\n);\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = $tw.utils.parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeNumericReducingOperator(fnCalc,initialValue) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [$tw.utils.stringifyNumber(result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,$tw.utils.parseNumber(currentValue));\n\t\t},initialValue))];\n\t};\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/minlength.js": {
"title": "$:/core/modules/filters/minlength.js",
"text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/modules.js": {
"title": "$:/core/modules/filters/modules.js",
"text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/moduletypes.js": {
"title": "$:/core/modules/filters/moduletypes.js",
"text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/next.js": {
"title": "$:/core/modules/filters/next.js",
"text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/plugintiddlers.js": {
"title": "$:/core/modules/filters/plugintiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/prefix.js": {
"title": "$:/core/modules/filters/prefix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/previous.js": {
"title": "$:/core/modules/filters/previous.js",
"text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/range.js": {
"title": "$:/core/modules/filters/range.js",
"text": "/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// Split the operand into numbers delimited by these symbols\n\tvar parts = operator.operand.split(/[,:;]/g),\n\t\tbeg, end, inc, i, fixed = 0;\n\tfor (i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif (end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if (end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif (end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/regexp.js": {
"title": "$:/core/modules/filters/regexp.js",
"text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removeprefix.js": {
"title": "$:/core/modules/filters/removeprefix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removesuffix.js": {
"title": "$:/core/modules/filters/removesuffix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sameday.js": {
"title": "$:/core/modules/filters/sameday.js",
"text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/search.js": {
"title": "$:/core/modules/filters/search.js",
"text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/shadowsource.js": {
"title": "$:/core/modules/filters/shadowsource.js",
"text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sort.js": {
"title": "$:/core/modules/filters/sort.js",
"text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/splitbefore.js": {
"title": "$:/core/modules/filters/splitbefore.js",
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/storyviews.js": {
"title": "$:/core/modules/filters/storyviews.js",
"text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/strings.js": {
"title": "$:/core/modules/filters/strings.js",
"text": "/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.trim(a)];}\n);\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue) || \"\"];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\t\t\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,title.split(regExp));\n\t});\t\t\n\treturn result;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/subfilter.js": {
"title": "$:/core/modules/filters/subfilter.js",
"text": "/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/subtiddlerfields.js": {
"title": "$:/core/modules/filters/subtiddlerfields.js",
"text": "/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/suffix.js": {
"title": "$:/core/modules/filters/suffix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tag.js": {
"title": "$:/core/modules/filters/tag.js",
"text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tagging.js": {
"title": "$:/core/modules/filters/tagging.js",
"text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tags.js": {
"title": "$:/core/modules/filters/tags.js",
"text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/then.js": {
"title": "$:/core/modules/filters/then.js",
"text": "/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/title.js": {
"title": "$:/core/modules/filters/title.js",
"text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/untagged.js": {
"title": "$:/core/modules/filters/untagged.js",
"text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/variables.js": {
"title": "$:/core/modules/filters/variables.js",
"text": "/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [];\n\tfor(var variable in options.widget.variables) {\n\t\tnames.push(variable);\n\t}\n\treturn names.sort();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/wikiparserrules.js": {
"title": "$:/core/modules/filters/wikiparserrules.js",
"text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/x-listops.js": {
"title": "$:/core/modules/filters/x-listops.js",
"text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n /*jslint node: true, browser: true */\n /*global $tw: false */\n \"use strict\";\n\n /*\n Fetch titles from the current list\n */\n var prepare_results = function (source) {\n var results = [];\n source(function (tiddler, title) {\n results.push(title);\n });\n return results;\n };\n\n /*\n Moves a number of items from the tail of the current list before the item named in the operand\n */\n exports.putbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1);\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list after the item named in the operand\n */\n exports.putafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1);\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Replaces the item named in the operand with a number of items from the tail of the current list\n */\n exports.replace = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1);\n return (index === -1) ?\n results.slice(0, -count) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list to the head of the list\n */\n exports.putfirst = function (source, operator) {\n var results = prepare_results(source),\n count = $tw.utils.getInt(operator.suffix,1);\n return results.slice(-count).concat(results.slice(0, -count));\n };\n\n /*\n Moves a number of items from the head of the current list to the tail of the list\n */\n exports.putlast = function (source, operator) {\n var results = prepare_results(source),\n count = $tw.utils.getInt(operator.suffix,1);\n return results.slice(count).concat(results.slice(0, count));\n };\n\n /*\n Moves the item named in the operand a number of places forward or backward in the list\n */\n exports.move = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1),\n marker = results.splice(index, 1),\n offset = (index + count) > 0 ? index + count : 0;\n return results.slice(0, offset).concat(marker).concat(results.slice(offset));\n };\n\n /*\n Returns the items from the current list that are after the item named in the operand\n */\n exports.allafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1) ? [] :\n (operator.suffix) ? results.slice(index) :\n results.slice(index + 1);\n };\n\n /*\n Returns the items from the current list that are before the item named in the operand\n */\n exports.allbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1) ? [] :\n (operator.suffix) ? results.slice(0, index + 1) :\n results.slice(0, index);\n };\n\n /*\n Appends the items listed in the operand array to the tail of the current list\n */\n exports.append = function (source, operator) {\n var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || append.length;\n return (append.length === 0) ? results :\n (operator.prefix) ? results.concat(append.slice(-count)) :\n results.concat(append.slice(0, count));\n };\n\n /*\n Prepends the items listed in the operand array to the head of the current list\n */\n exports.prepend = function (source, operator) {\n var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = $tw.utils.getInt(operator.suffix,prepend.length);\n return (prepend.length === 0) ? results :\n (operator.prefix) ? prepend.slice(-count).concat(results) :\n prepend.slice(0, count).concat(results);\n };\n\n /*\n Returns all items from the current list except the items listed in the operand array\n */\n exports.remove = function (source, operator) {\n var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || array.length,\n p,\n len,\n index;\n len = array.length - 1;\n for (p = 0; p < count; ++p) {\n if (operator.prefix) {\n index = results.indexOf(array[len - p]);\n } else {\n index = results.indexOf(array[p]);\n }\n if (index !== -1) {\n results.splice(index, 1);\n }\n }\n return results;\n };\n\n /*\n Returns all items from the current list sorted in the order of the items in the operand array\n */\n exports.sortby = function (source, operator) {\n var results = prepare_results(source);\n if (!results || results.length < 2) {\n return results;\n }\n var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n results.sort(function (a, b) {\n return lookup.indexOf(a) - lookup.indexOf(b);\n });\n return results;\n };\n\n /*\n Removes all duplicate items from the current list\n */\n exports.unique = function (source, operator) {\n var results = prepare_results(source);\n var set = results.reduce(function (a, b) {\n if (a.indexOf(b) < 0) {\n a.push(b);\n }\n return a;\n }, []);\n return set;\n };\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters.js": {
"title": "$:/core/modules/filters.js",
"text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tArray.prototype.push.apply(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tif(results.length === 0) {\n\t\t\t\t\t\t\t// Main result so far is empty\n\t\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/indexers/backlinks-indexer.js": {
"title": "$:/core/modules/indexers/backlinks-indexer.js",
"text": "/*\\\ntitle: $:/core/modules/indexers/backlinks-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers' backlinks\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\n\nfunction BacklinksIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nBacklinksIndexer.prototype.init = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype.rebuild = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype._getLinks = function(tiddler) {\n\tvar parser = this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\n\tif(parser) {\n\t\treturn this.wiki.extractLinks(parser.tree);\n\t}\n\treturn [];\n}\n\nBacklinksIndexer.prototype.update = function(updateDescriptor) {\n\tif(!this.index) {\n\t\treturn;\n\t}\n\tvar newLinks = [],\n\t oldLinks = [],\n\t self = this;\n\tif(updateDescriptor.old.exists) {\n\t\toldLinks = this._getLinks(updateDescriptor.old.tiddler);\n\t}\n\tif(updateDescriptor.new.exists) {\n\t\tnewLinks = this._getLinks(updateDescriptor.new.tiddler);\n\t}\n\n\t$tw.utils.each(oldLinks,function(link) {\n\t\tif(self.index[link]) {\n\t\t\tdelete self.index[link][updateDescriptor.old.tiddler.fields.title];\n\t\t}\n\t});\n\t$tw.utils.each(newLinks,function(link) {\n\t\tif(!self.index[link]) {\n\t\t\tself.index[link] = Object.create(null);\n\t\t}\n\t\tself.index[link][updateDescriptor.new.tiddler.fields.title] = true;\n\t});\n}\n\nBacklinksIndexer.prototype.lookup = function(title) {\n\tif(!this.index) {\n\t\tthis.index = Object.create(null);\n\t\tvar self = this;\n\t\tthis.wiki.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self._getLinks(tiddler);\n\t\t\t$tw.utils.each(links, function(link) {\n\t\t\t\tif(!self.index[link]) {\n\t\t\t\t\tself.index[link] = Object.create(null);\n\t\t\t\t}\n\t\t\t\tself.index[link][title] = true;\n\t\t\t});\n\t\t});\n\t}\n\tif(this.index[title]) {\n\t\treturn Object.keys(this.index[title]);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nexports.BacklinksIndexer = BacklinksIndexer;\n\n})();\n",
"type": "application/javascript",
"module-type": "indexer"
},
"$:/core/modules/indexers/field-indexer.js": {
"title": "$:/core/modules/indexers/field-indexer.js",
"text": "/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n}\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar titles = self.wiki.allTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar titles = self.wiki.allShadowTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n\n})();\n",
"type": "application/javascript",
"module-type": "indexer"
},
"$:/core/modules/indexers/tag-indexer.js": {
"title": "$:/core/modules/indexers/tag-indexer.js",
"text": "/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\t\t\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\t\t\t\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n\n})();\n",
"type": "application/javascript",
"module-type": "indexer"
},
"$:/core/modules/info/platform.js": {
"title": "$:/core/modules/info/platform.js",
"text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "info"
},
"$:/core/modules/keyboard.js": {
"title": "$:/core/modules/keyboard.js",
"text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\")\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t}\n};\n\nKeyboardManager.prototype.handleKeydownEvent = function(event) {\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t(this.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/language.js": {
"title": "$:/core/modules/language.js",
"text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/macros/changecount.js": {
"title": "$:/core/modules/macros/changecount.js",
"text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/contrastcolour.js": {
"title": "$:/core/modules/macros/contrastcolour.js",
"text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/csvtiddlers.js": {
"title": "$:/core/modules/macros/csvtiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/displayshortcuts.js": {
"title": "$:/core/modules/macros/displayshortcuts.js",
"text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddler.js": {
"title": "$:/core/modules/macros/jsontiddler.js",
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddlers.js": {
"title": "$:/core/modules/macros/jsontiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"spaces\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,spaces) {\n\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/makedatauri.js": {
"title": "$:/core/modules/macros/makedatauri.js",
"text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"},\n\t{name: \"_canonical_uri\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type,_canonical_uri) {\n\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/now.js": {
"title": "$:/core/modules/macros/now.js",
"text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/qualify.js": {
"title": "$:/core/modules/macros/qualify.js",
"text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/resolvepath.js": {
"title": "$:/core/modules/macros/resolvepath.js",
"text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/unusedtitle.js": {
"title": "$:/core/modules/macros/unusedtitle.js",
"text": "/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"options\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName, options) {\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\treturn this.wiki.generateNewTitle(baseName, options);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/version.js": {
"title": "$:/core/modules/macros/version.js",
"text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/parsers/audioparser.js": {
"title": "$:/core/modules/parsers/audioparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/binaryparser.js": {
"title": "$:/core/modules/parsers/binaryparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe binary parser parses a binary tiddler into a warning message and download link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar BinaryParser = function(type,text,options) {\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on binary tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to external or internal data URI\n\tif(options._canonical_uri) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: options._canonical_uri\n\t\t};\n\t} else if(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/csvparser.js": {
"title": "$:/core/modules/parsers/csvparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/htmlparser.js": {
"title": "$:/core/modules/parsers/htmlparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/imageparser.js": {
"title": "$:/core/modules/parsers/imageparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/utils/parseutils.js": {
"title": "$:/core/modules/utils/parseutils.js",
"text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/parsers/pdfparser.js": {
"title": "$:/core/modules/parsers/pdfparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/textparser.js": {
"title": "$:/core/modules/parsers/textparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/videoparser.js": {
"title": "$:/core/modules/parsers/videoparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/ogg\"] = VideoParser;\nexports[\"video/webm\"] = VideoParser;\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/dash.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/entity.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/extlink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/heading.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/html.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/html.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.slice(1).indexOf(\"$\") !== -1) {\n\t\treturn null;\n\t}\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/image.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/image.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/import.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/import.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(\\r?\\n)|$/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1]}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/list.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/list.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"div\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/rules.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/syslink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/table.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/table.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/whitespace.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/whitespace.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/wikiparser.js": {
"title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = false;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex));\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index));\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex));\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text});\t\t\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/pluginswitcher.js": {
"title": "$:/core/modules/pluginswitcher.js",
"text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Read the plugin info for the incoming plugins\n\tvar changes = $tw.wiki.readPluginInfo(plugins);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/saver-handler.js": {
"title": "$:/core/modules/saver-handler.js",
"text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/savers/andtidwiki.js": {
"title": "$:/core/modules/savers/andtidwiki.js",
"text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback,options) {\n\tvar filename = options && options.variables ? options.variables.filename : null;\n\tif (method === \"download\") {\n\t\t// Support download\n\t\tif (window.twi.saveDownload) {\n\t\t\ttry {\n\t\t\t\twindow.twi.saveDownload(text,filename);\n\t\t\t} catch(err) {\n\t\t\t\tif (err.message === \"Method not found\") {\n\t\t\t\t\twindow.twi.saveDownload(text);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tvar link = document.createElement(\"a\");\n\t\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t\t\tif (filename) {\n\t\t\t link.setAttribute(\"download\",filename);\n\t\t\t}\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t} else if (window.twi.saveWiki) {\n\t\t// Direct save in Tiddloid\n\t\twindow.twi.saveWiki(text);\n\t} else {\n\t\t// Get the pathname of this document\n\t\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t\t// Strip the file://\n\t\tif(pathname.indexOf(\"file://\") === 0) {\n\t\t\tpathname = pathname.substr(7);\n\t\t}\n\t\t// Strip any query or location part\n\t\tvar p = pathname.indexOf(\"?\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\tp = pathname.indexOf(\"#\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\t// Save the file\n\t\twindow.twi.saveFile(pathname,text);\n\t}\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/beaker.js": {
"title": "$:/core/modules/savers/beaker.js",
"text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\nCompatible with beaker >= V0.7.2\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar dat = new DatArchive(\"\" + window.location),\n\t\tpathname = (\"\" + window.location.pathname).split(\"#\")[0];\n\tdat.stat(pathname).then(function(value) {\n\t\tif(value.isDirectory()) {\n\t\t\tpathname = pathname + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(pathname,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.DatArchive && location.protocol===\"dat:\";\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/download.js": {
"title": "$:/core/modules/savers/download.js",
"text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = decodeURIComponent(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/fsosaver.js": {
"title": "$:/core/modules/savers/fsosaver.js",
"text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/gitea.js": {
"title": "$:/core/modules/savers/gitea.js",
"text": "/*\\\ntitle: $:/core/modules/savers/gitea.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the gitea\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GiteaSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGiteaSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/Gitea/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"Gitea\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/Gitea/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/Gitea/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/Gitea/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/Gitea/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/Gitea/ServerURL\") || \"https://gitea\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar use_put = true;\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(sha === \"\"){\n\t\t\t\t\tuse_put = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: endpoint + \"/repos/\" + repo + \"/branches/\" + branch,\n\t\t\t\ttype: \"GET\",\n\t\t\t\theaders: headers,\n\t\t\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\t\t\tif(xhr.status === 404) {\n\t\t\t\t\t\tcallback(\"Please ensure the branch in the Gitea repo exists\");\n\t\t\t\t\t}else{\n\t\t\t\t\t\tdata[\"branch\"] = branch;\n\t\t\t\t\t\tself.upload(uri + filename, use_put?\"PUT\":\"POST\", headers, data, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: method,\n\t\theaders: headers,\n\t\tdata: JSON.stringify(data),\n\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\tcallback(null);\n\t\t}\n\t});\n};\n\n/*\nInformation about this saver\n*/\nGiteaSaver.prototype.info = {\n\tname: \"Gitea\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GiteaSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/github.js": {
"title": "$:/core/modules/savers/github.js",
"text": "/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/gitlab.js": {
"title": "$:/core/modules/savers/gitlab.js",
"text": "/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: true */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/?path=\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, '')) + \"&branch=\" + encodeURIComponent(branch.replace(/^\\/+|\\/$/g, '')),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, '') + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/manualdownload.js": {
"title": "$:/core/modules/savers/manualdownload.js",
"text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/msdownload.js": {
"title": "$:/core/modules/savers/msdownload.js",
"text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/put.js": {
"title": "$:/core/modules/savers/put.js",
"text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*;charset=UTF-8\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\t// response is textual: \"XMLHttpRequest error code: 412\"\n\t\t\t\tvar status = Number(err.substring(err.indexOf(':') + 2, err.length))\n\t\t\t\tif(status === 412) { // edit conflict\n\t\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\t\tcallback(message);\n\t\t\t\t} else {\n\t\t\t\t\tcallback(err); // fail\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyfox.js": {
"title": "$:/core/modules/savers/tiddlyfox.js",
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyie.js": {
"title": "$:/core/modules/savers/tiddlyie.js",
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/twedit.js": {
"title": "$:/core/modules/savers/twedit.js",
"text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/upload.js": {
"title": "$:/core/modules/savers/upload.js",
"text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/server/authenticators/basic.js": {
"title": "$:/core/modules/server/authenticators/basic.js",
"text": "/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve($tw.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n\n})();\n",
"type": "application/javascript",
"module-type": "authenticator"
},
"$:/core/modules/server/authenticators/header.js": {
"title": "$:/core/modules/server/authenticators/header.js",
"text": "/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\");\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tstate.authenticatedUsername = username;\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n})();\n",
"type": "application/javascript",
"module-type": "authenticator"
},
"$:/core/modules/server/routes/delete-tiddler.js": {
"title": "$:/core/modules/server/routes/delete-tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"DELETE\";\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-favicon.js": {
"title": "$:/core/modules/server/routes/get-favicon.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tresponse.end(buffer,\"base64\");\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-file.js": {
"title": "$:/core/modules/server/routes/get-file.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tutil = require(\"util\"),\n\t\tsuppliedFilename = decodeURIComponent(state.params[0]),\n\t\tfilename = path.resolve($tw.boot.wikiPath,\"files\",suppliedFilename),\n\t\textension = path.extname(filename);\n\tfs.readFile(filename,function(err,content) {\n\t\tvar status,content,type = \"text/plain\";\n\t\tif(err) {\n\t\t\tconsole.log(\"Error accessing file \" + filename + \": \" + err.toString());\n\t\t\tstatus = 404;\n\t\t\tcontent = \"File '\" + suppliedFilename + \"' not found\";\n\t\t} else {\n\t\t\tstatus = 200;\n\t\t\tcontent = content;\n\t\t\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\");\n\t\t}\n\t\tresponse.writeHead(status,{\n\t\t\t\"Content-Type\": type\n\t\t});\n\t\tresponse.end(content);\n\t});\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-index.js": {
"title": "$:/core/modules/server/routes/get-index.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar zlib = require(\"zlib\");\n\nexports.method = \"GET\";\n\nexports.path = /^\\/$/;\n\nexports.handler = function(request,response,state) {\n\tvar acceptEncoding = request.headers[\"accept-encoding\"];\n\tif(!acceptEncoding) {\n\t\tacceptEncoding = \"\";\n\t}\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t};\n\t/*\n\tIf the gzip=yes flag for `listen` is set, check if the user agent permits\n\tcompression. If so, compress our response. Note that we use the synchronous\n\tfunctions from zlib to stay in the imperative style. The current `Server`\n\tdoesn't depend on this, and we may just as well use the async versions.\n\t*/\n\tif(state.server.enableGzip) {\n\t\tif (/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\ttext = zlib.deflateSync(text);\n\t\t} else if (/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\ttext = zlib.gzipSync(text);\n\t\t}\n\t}\n\tresponse.writeHead(200,responseHeaders);\n\tresponse.end(text);\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-login-basic.js": {
"title": "$:/core/modules/server/routes/get-login-basic.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/login-basic$/;\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\t\t\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: \"/\"\n\t\t});\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-status.js": {
"title": "$:/core/modules/server/routes/get-status.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/status$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-tiddler-html.js": {
"title": "$:/core/modules/server/routes/get-tiddler-html.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\t\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\n\t\tresponse.writeHead(200);\n\t\tresponse.end(text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-tiddler.js": {
"title": "$:/core/modules/server/routes/get-tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.bag = \"default\";\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-tiddlers-json.js": {
"title": "$:/core/modules/server/routes/get-tiddlers-json.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/tiddlers.json?filter=<filter>\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_FILTER = \"[all[tiddlers]!is[system]sort[title]]\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.handler = function(request,response,state) {\n\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\n\tif($tw.wiki.getTiddlerText(\"$:/config/Server/AllowAllExternalFilters\") !== \"yes\") {\n\t\tif($tw.wiki.getTiddlerText(\"$:/config/Server/ExternalFilters/\" + filter) !== \"yes\") {\n\t\t\tconsole.log(\"Blocked attempt to GET /recipes/default/tiddlers/tiddlers.json with filter: \" + filter);\n\t\t\tresponse.writeHead(403);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\tvar excludeFields = (state.queryParameters.exclude || \"text\").split(\",\"),\n\t\ttitles = state.wiki.filterTiddlers(filter);\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar tiddlers = [];\n\t$tw.utils.each(titles,function(title) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\n\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\ttiddlers.push(tiddlerFields);\n\t\t}\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/put-tiddler.js": {
"title": "$:/core/modules/server/routes/put-tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"PUT\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\tfields = JSON.parse(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/server.js": {
"title": "$:/core/modules/server/server.js",
"text": "/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\tquerystring = require(\"querystring\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\t\t\n\t}\n\t$tw.utils.extend({},this.defaultVariables,options.variables);\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName = (this.get(\"username\") && this.get(\"password\")) ? this.get(\"username\") : \"(anon)\";\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsCertFilepath),\"utf8\")\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"path-prefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n}\n\nServer.prototype.requestHandler = function(request,response) {\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = self.wiki;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\tstate.queryParameters = querystring.parse(state.urlInfo.query);\n\t// Get the principals authorized to access this resource\n\tvar authorizationType = this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\t\t\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\t\t\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t})\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\tvar self = this;\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\t// Create the server\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\n\tserver.on(\"listening\",function() {\n\t\tvar address = server.address();\n\t\t$tw.utils.log(\"Serving on \" + self.protocol + \"://\" + address.address + \":\" + address.port + prefix,\"brown/orange\");\n\t\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t});\n\t// Listen\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/browser-messaging.js": {
"title": "$:/core/modules/browser-messaging.js",
"text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/commands.js": {
"title": "$:/core/modules/startup/commands.js",
"text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/CSSescape.js": {
"title": "$:/core/modules/startup/CSSescape.js",
"text": "/*\\\ntitle: $:/core/modules/startup/CSSescape.js\ntype: application/javascript\nmodule-type: startup\n\nPolyfill for CSS.escape()\n\n\\*/\n(function(root,factory){\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"css-escape\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n// https://github.com/umdjs/umd/blob/master/returnExports.js\nexports.startup = factory(root);\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\n}));\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/favicon.js": {
"title": "$:/core/modules/startup/favicon.js",
"text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/info.js": {
"title": "$:/core/modules/startup/info.js",
"text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_INFO_PLUGIN = \"$:/temp/info-plugin\";\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \"info\" because ordinary plugins are only registered asynchronously after being loaded dynamically\n\tvar fields = {\n\t\ttitle: TITLE_INFO_PLUGIN,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/load-modules.js": {
"title": "$:/core/modules/startup/load-modules.js",
"text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/password.js": {
"title": "$:/core/modules/startup/password.js",
"text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/plugins.js": {
"title": "$:/core/modules/startup/plugins.js",
"text": "/*\\\ntitle: $:/core/modules/startup/plugins.js\ntype: application/javascript\nmodule-type: startup\n\nStartup logic concerned with managing plugins\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"plugins\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \"$:/status/RequireReloadDueToPluginChange\";\n\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \"$:/config/RegisterPluginType/\";\n\nexports.startup = function() {\n\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"no\"});\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tvar changesToProcess = [],\n\t\t\trequireReloadDueToPluginChange = false;\n\t\t$tw.utils.each(Object.keys(changes),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\t\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\n\t\t\tif(requiresReload) {\n\t\t\t\trequireReloadDueToPluginChange = true;\n\t\t\t} else if(tiddler) {\n\t\t\t\tvar pluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\"plugin-type\"] || \"\"),\"no\") === \"yes\") {\n\t\t\t\t\tchangesToProcess.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif(requireReloadDueToPluginChange) {\n\t\t\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"yes\"});\n\t\t}\n\t\t// Read or delete the plugin info of the changed tiddlers\n\t\tif(changesToProcess.length > 0) {\n\t\t\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\n\t\t\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\n\t\t\t\t// (Re-)register any modified plugins\n\t\t\t\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\n\t\t\t\t// Unregister any deleted plugins\n\t\t\t\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\n\t\t\t\t// Unpack the shadow tiddlers\n\t\t\t\t$tw.wiki.unpackPluginTiddlers();\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/render.js": {
"title": "$:/core/modules/startup/render.js",
"text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar THROTTLE_REFRESH_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n \t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only tiddlers that are throttled have changed\n\t\tvar onlyThrottledTiddlersHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !(tiddler.hasField(\"draft.of\") || tiddler.hasField(\"throttle.refresh\"))) {\n\t\t\t\tonlyThrottledTiddlersHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyThrottledTiddlersHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = THROTTLE_REFRESH_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/rootwidget.js": {
"title": "$:/core/modules/startup/rootwidget.js",
"text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param);\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement;\n\t\ttry {\n\t\t\telement = document.querySelector(selector);\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Error in selector: \",selector)\n\t\t}\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup.js": {
"title": "$:/core/modules/startup.js",
"text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Execute any startup actions\n\tvar executeStartupTiddlers = function(tag) {\n\t\t$tw.utils.each($tw.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\t\t$tw.rootWidget.invokeActionString($tw.wiki.getTiddlerText(title),$tw.rootWidget);\n\t\t});\n\t};\n\texecuteStartupTiddlers(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Browser\");\t\t\n\t}\n\tif($tw.node) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Node\");\t\t\n\t}\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t}\n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/story.js": {
"title": "$:/core/modules/startup/story.js",
"text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \"$:/config/Navigation/Permalinkview/CopyToClipboard\"; // Can be \"yes\" (default) or \"no\"\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/Permalinkview/UpdateAddressBar\"; // Can be \"yes\" (default) or \"no\"\n\n\n// Links to help, if there is no param\nvar HELP_OPEN_EXTERNAL_WINDOW = \"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\";\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers({\n\t\tdisableHistory: $tw.boot.disableStartupNavigation\n\t});\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for tm-open-external-window message\n\t\t$tw.rootWidget.addEventListener(\"tm-open-external-window\",function(event) {\n\t\t\tvar paramObject = event.paramObject || {},\n\t\t\t\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\n\t\t\t\tstrWindowName = paramObject.windowName,\n\t\t\t\tstrWindowFeatures = paramObject.windowFeatures;\n\t\t\twindow.open(strUrl, strWindowName, strWindowFeatures);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\"\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\"\n\t\t\t});\t\t\t\t\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndisableHistory: if true $:/History is NOT updated\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// Update history\n\tif(!options.disableHistory) {\n\t\t// If a target tiddler was specified add it to the history stack\n\t\tif(target && target !== \"\") {\n\t\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t\t}\n\t\t\t$tw.wiki.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\n\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t}\t\t\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.copyToClipboard: \"permalink\", \"permaview\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\t// Get the story and the history stack\n\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\ttargetTiddler = \"\";\n\tif(options.targetTiddler) {\n\t\ttargetTiddler = options.targetTiddler;\n\t} else {\n\t\t// The target tiddler is the one at the top of the stack\n\t\tif(historyList.length > 0) {\n\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t}\n\t\t// Blank the target tiddler if it isn't present in the story\n\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\ttargetTiddler = \"\";\n\t\t}\n\t}\n\t// Assemble the location hash\n\tswitch(options.updateAddressBar) {\n\t\tcase \"permalink\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\t// Copy URL to the clipboard\n\tswitch(options.copyToClipboard) {\n\t\tcase \"permalink\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler));\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\n\t\t\tbreak;\n\t}\n\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\tif(options.updateHistory === \"yes\") {\n\t\t\t// Assign the location hash so that history is updated\n\t\t\twindow.location.hash = $tw.locationHash;\n\t\t} else {\n\t\t\t// We use replace so that browser history isn't affected\n\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t}\n\t}\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/windows.js": {
"title": "$:/core/modules/startup/windows.js",
"text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t srcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t},{\n\t\t\tname: \"click\",\n\t\t\thandlerObject: $tw.popup,\n\t\t\thandlerMethod: \"handleEvent\"\n\t\t}]);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/story.js": {
"title": "$:/core/modules/story.js",
"text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/storyviews/classic.js": {
"title": "$:/core/modules/storyviews/classic.js",
"text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration()\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\tif(duration) {\n\t\t// Scroll the node into view\n\t\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\t\n\t} else {\n\t\ttargetElement.scrollIntoView();\n\t}\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Reset the margin once the transition is over\n\t\tsetTimeout(function() {\n\t\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t\t{transition: \"none\"},\n\t\t\t\t{marginBottom: \"\"}\n\t\t\t]);\n\t\t},duration);\n\t\t// Set up the initial position of the element\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t// Transition to the final position\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t};\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\tremoveElement();\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar currWidth = targetElement.offsetWidth,\n\t\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Remove the dom nodes of the widget at the end of the transition\n\t\tsetTimeout(removeElement,duration);\n\t\t// Animate the closure\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"translateX(0px)\"},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/pop.js": {
"title": "$:/core/modules/storyviews/pop.js",
"text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t\t$tw.utils.setStyle(widget.document.body,[\n\t\t\t{\"overflow-x\": \"\"}\n\t\t]);\n\t},duration);\n\t// Prevent the page from overscrolling due to the zoom factor\n\t$tw.utils.setStyle(widget.document.body,[\n\t\t{\"overflow-x\": \"hidden\"}\n\t]);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement && targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/zoomin.js": {
"title": "$:/core/modules/storyviews/zoomin.js",
"text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/syncer.js": {
"title": "$:/core/modules/syncer.js",
"text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \"sync adaptor\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSyncDisableLazyLoading = \"$:/config/SyncDisableLazyLoading\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.titleSyncThrottleInterval = \"$:/config/SyncThrottleInterval\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Save parameters\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\"\"),10) || this.throttleInterval;\n\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging,\n\t\tsaveHistory: true\n\t});\n\t// Make another logger for connection errors\n\tthis.loggerConnection = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\") + \"-connection\",{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging\n\t});\n\t// Ask the syncadaptor to use the main logger\n\tif(this.syncadaptor.setLoggerSaveBuffer) {\n\t\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\n\t}\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\n\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\n\t// Timers\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Number of outstanding requests\n\tthis.numTasksInProgress = 0;\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Filter the changes to just include ones that are being synced\n\t\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tif(filteredChanges.length > 0) {\n\t\t\tself.processTaskQueue();\n\t\t} else {\n\t\t\t// Look for deletions of tiddlers we're already syncing\t\n\t\t\tvar outstandingDeletion = false\n\t\t\t$tw.utils.each(changes,function(change,title,object) {\n\t\t\t\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\n\t\t\t\t\toutstandingDeletion = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(outstandingDeletion) {\n\t\t\t\tself.processTaskQueue();\n\t\t\t}\n\t\t}\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-copy-syncer-logs-to-clipboard\",function() {\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \"\\n\\nLog:\\n\" + self.logger.getBuffer());\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI && $tw.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \"yes\") {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nShow a generic network error alert\n*/\nSyncer.prototype.displayError = function(msg,err) {\n\tif(err === ($tw.language.getString(\"Error/XMLHttpRequest\") + \": 0\")) {\n\t\tthis.loggerConnection.alert($tw.language.getString(\"Error/NetworkErrorAlert\"));\n\t\tthis.logger.log(msg + \":\",err);\n\t} else {\n\t\tthis.logger.alert(msg + \":\",err);\n\t}\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getSyncedTiddlers = function(source) {\n\treturn this.filterFn.call(this.wiki,source);\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getTiddlerRevision = function(title) {\n\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\n\t\treturn this.syncadaptor.getTiddlerRevision(title);\n\t} else {\n\t\treturn this.wiki.getTiddler(title).fields.revision;\t\n\t} \n};\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\t// \"revision\" is the revision of the tiddler last seen on the server, and \"changecount\" is the corresponding local changecount\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.getSyncedTiddlers();\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: self.getTiddlerRevision(title),\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t};\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\tthis.logger.log(\"Checking dirty status\");\n\t// Check tiddlers that are in the store and included in the filter function\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(this.wiki.tiddlerExists(title)) {\n\t\t\tif(tiddlerInfo) {\n\t\t\t\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\n\t\t\t\tif($tw.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// If the tiddler isn't known on the server then it needs to be saved to the server\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\t// Check tiddlers that are known from the server but not currently in the store\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\tif(!this.wiki.tiddlerExists(titles[index])) {\n\t\t\t// There must be a pending delete\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\tvar dirty = this.isDirty();\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",dirty);\n\t\tif(!dirty) {\n\t\t\tthis.loggerConnection.clearAlerts();\n\t\t}\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: this.getTiddlerRevision(tiddlerFields.title),\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\t// Set the various status tiddlers\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\t\tif(isLoggedIn) {\n\t\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tvar self = this,\n\t\tcancelNextSync = function() {\n\t\t\tif(self.pollTimerId) {\n\t\t\t\tclearTimeout(self.pollTimerId);\n\t\t\t\tself.pollTimerId = null;\n\t\t\t}\n\t\t},\n\t\ttriggerNextSync = function() {\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t};\n\tif(this.syncadaptor && this.syncadaptor.getUpdatedTiddlers) {\n\t\tthis.logger.log(\"Retrieving updated tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getUpdatedTiddlers(self,function(err,updates) {\n\t\t\ttriggerNextSync();\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(updates) {\n\t\t\t\t$tw.utils.each(updates.modifications,function(title) {\n\t\t\t\t\tself.titlesToBeLoaded[title] = true;\n\t\t\t\t});\n\t\t\t\t$tw.utils.each(updates.deletions,function(title) {\n\t\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t\t});\n\t\t\t\tif(updates.modifications.length > 0 || updates.deletions.length > 0) {\n\t\t\t\t\tself.processTaskQueue();\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t} else if(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\ttriggerNextSync();\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Keep track of which tiddlers we already know about have been reported this time\n\t\t\tvar previousTitles = Object.keys(self.tiddlerInfo);\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.tiddlerExists(tiddlerFields.title) && self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\n\t\t\t\t\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\n\t\t\t\tif(indexInPreviousTitles !== -1) {\n\t\t\t\t\tpreviousTitles.splice(indexInPreviousTitles,1);\n\t\t\t\t}\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Only load the skinny version if we don't already have a fat version of the tiddler\n\t\t\t\t\tif(!tiddler || tiddler.fields.text === undefined) {\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\tself.titlesToBeLoaded[tiddlerFields.title] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers that were previously reported but missing this time\n\t\t\t$tw.utils.each(previousTitles,function(title) {\n\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t});\n\t\t\tself.processTaskQueue();\n\t\t});\n\t}\n};\n\n/*\nForce load a tiddler from the server\n*/\nSyncer.prototype.enqueueLoadTiddler = function(title) {\n\tthis.titlesToBeLoaded[title] = true;\n\tthis.processTaskQueue();\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Ignore if the syncadaptor doesn't handle it\n\tif(!this.syncadaptor.supportsLazyLoading) {\n\t\treturn;\n\t}\n\t// Don't lazy load the same tiddler twice\n\tif(!this.titlesHaveBeenLazyLoaded[title]) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\n\t\t\t// Mark the tiddler as needing loading, and having already been lazily loaded\n\t\t\tthis.titlesToBeLoaded[title] = true;\n\t\t\tthis.titlesHaveBeenLazyLoaded[title] = true;\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!err && !isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(err,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nProcess the next task\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\n\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(typeof task === \"object\" && task !== null) {\n\t\t\tthis.numTasksInProgress += 1;\n\t\t\ttask.run(function(err) {\n\t\t\t\tself.numTasksInProgress -= 1;\n\t\t\t\tif(err) {\n\t\t\t\t\tself.displayError(\"Sync error while processing \" + task.type + \" of '\" + task.title + \"'\",err);\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\tself.triggerTimeout(self.errorRetryInterval);\n\t\t\t\t} else {\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\t// Process the next task\n\t\t\t\t\tself.processTaskQueue.call(self);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// No task is ready so update the status\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// And trigger a timeout if there is a pending task\n\t\t\tif(task === true) {\n\t\t\t\tthis.triggerTimeout();\t\t\t\t\n\t\t\t}\n\t\t}\n\t} else {\n\t\tthis.updateDirtyStatus();\t\t\n\t}\n};\n\nSyncer.prototype.triggerTimeout = function(interval) {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},interval || self.taskTimerInterval);\n\t}\n};\n\n/*\nChoose the next sync task. We prioritise saves, then deletes, then loads from the server\n\nReturns either a task object, null if there's no upcoming tasks, or the boolean true if there are pending tasks that aren't yet due\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar thresholdLastSaved = (new Date()) - this.throttleInterval,\n\t\thavePending = null;\n\t// First we look for tiddlers that have been modified locally and need saving back to the server\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(tiddler) {\n\t\t\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\n\t\t\tvar hasChanged = !tiddlerInfo || $tw.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\n\t\t\t\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\n\t\t\tif(hasChanged) {\n\t\t\t\tif(isReadyToSave) {\n\t\t\t\t\treturn new SaveTiddlerTask(this,title); \t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\thavePending = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Second, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\ttitle = titles[index];\n\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\treturn new DeleteTiddlerTask(this,title);\n\t\t}\n\t}\n\t// Check for tiddlers that need loading\n\ttitle = Object.keys(this.titlesToBeLoaded)[0];\n\tif(title) {\n\t\tdelete this.titlesToBeLoaded[title];\n\t\treturn new LoadTiddlerTask(this,title);\n\t}\n\t// No tasks are ready\n\treturn havePending;\n};\n\nfunction SaveTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"save\";\n}\n\nSaveTiddlerTask.prototype.run = function(callback) {\n\tvar self = this,\n\t\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\n\t\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\n\tthis.syncer.logger.log(\"Dispatching 'save' task:\",this.title);\n\tif(tiddler) {\n\t\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t// If there's an error, exit without changing any internal state\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Adjust the info stored about this tiddler\n\t\t\tself.syncer.tiddlerInfo[self.title] = {\n\t\t\t\tchangeCount: changeCount,\n\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\trevision: revision,\n\t\t\t\ttimestampLastSaved: new Date()\n\t\t\t};\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else {\n\t\tthis.syncer.logger.log(\" Not Dispatching 'save' task:\",this.title,\"tiddler does not exist\");\n\t\t$tw.utils.nextTick(callback(null));\n\t}\n};\n\nfunction DeleteTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"delete\";\n}\n\nDeleteTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'delete' task:\",this.title);\n\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Remove the info stored about this tiddler\n\t\tdelete self.syncer.tiddlerInfo[self.title];\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t},{\n\t\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\n\t});\n};\n\nfunction LoadTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"load\";\n}\n\nLoadTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'load' task:\",this.title);\n\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Update the info stored about this tiddler\n\t\tif(tiddlerFields) {\n\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t});\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/tiddler.js": {
"title": "$:/core/modules/tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as a list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "tiddlermethod"
},
"$:/core/modules/upgraders/plugins.js": {
"title": "$:/core/modules/upgraders/plugins.js",
"text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin contains JS modules\n\t\t\tvar requiresReload = $tw.wiki.doesPluginInfoRequireReload(JSON.parse(incomingTiddler.text)) ? ($tw.wiki.getTiddlerText(\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\") + \" \") : \"\";\n\t\t\tmessages[title] = requiresReload;\n\t\t\tif(incomingTiddler.version) {\n\t\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/system.js": {
"title": "$:/core/modules/upgraders/system.js",
"text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/Import\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/themetweaks.js": {
"title": "$:/core/modules/upgraders/themetweaks.js",
"text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/utils/base64-utf8/base64-utf8.module.js": {
"text": "(function(){// From https://gist.github.com/Nijikokun/5192472\n//\n// UTF8 Module\n//\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\n//\n// copyright: MIT\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"utf8\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\"string\"!=typeof r)return r;r=r.replace(/\\r\\n/g,\"\\n\");for(var e,o=\"\",t=0;t<r.length;t++)(e=r.charCodeAt(t))<128?o+=String.fromCharCode(e):e>127&&e<2048?(o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128)):(o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128));return o},decode:function(r){if(\"string\"!=typeof r)return r;for(var e=\"\",o=0,t=0;o<r.length;)(t=r.charCodeAt(o))<128?(e+=String.fromCharCode(t),o++):t>191&&t<224?(e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2):(e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3);return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var n=0;n<t.length;n++)o[t[n]]=o.require(t[n]);o.module.exports=e.apply(o)}else void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"base64\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=e.encode(r);for(var t,n,i,d,f,a,h,c=\"\",u=0;u<r.length;)d=(t=r.charCodeAt(u++))>>2,f=(3&t)<<4|(n=r.charCodeAt(u++))>>4,a=(15&n)<<2|(i=r.charCodeAt(u++))>>6,h=63&i,isNaN(n)?a=h=64:isNaN(i)&&(h=64),c+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return c},decode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var t,n,i,d,f,a,h=\"\",c=0;c<r.length;)t=o.indexOf(r.charAt(c++))<<2|(d=o.indexOf(r.charAt(c++)))>>4,n=(15&d)<<4|(f=o.indexOf(r.charAt(c++)))>>2,i=(3&f)<<6|(a=o.indexOf(r.charAt(c++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(n)),64!=a&&(h+=String.fromCharCode(i));return e.decode(h)}}},this,[\"utf8\"]);}).call(exports);",
"type": "application/javascript",
"title": "$:/core/modules/utils/base64-utf8/base64-utf8.module.js",
"module-type": "library"
},
"$:/core/modules/utils/crypto.js": {
"title": "$:/core/modules/utils/crypto.js",
"text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/csv.js": {
"title": "$:/core/modules/utils/csv.js",
"text": "/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\toptions = options || {};\n\tvar separator = options.separator || \",\",\n\t\trows = text.split(/\\r?\\n/mg).map(function(row) {\n\t\t\treturn $tw.utils.trim(row);\n\t\t}).filter(function(row) {\n\t\t\treturn row !== \"\";\n\t\t});\n\tif(rows.length < 1) {\n\t\treturn \"Missing header row\";\n\t}\n\tvar headings = rows[0].split(separator),\n\t\tresults = [];\n\tfor(var row=1; row<rows.length; row++) {\n\t\tvar columns = rows[row].split(separator),\n\t\t\tcolumnResult = Object.create(null);\n\t\tif(columns.length !== headings.length) {\n\t\t\treturn \"Malformed CSV row '\" + rows[row] + \"'\";\n\t\t}\n\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\tvar columnName = headings[column];\n\t\t\tcolumnResult[columnName] = $tw.utils.trim(columns[column] || \"\");\n\t\t}\n\t\tresults.push(columnResult);\t\t\t\n\t}\n\treturn results;\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/diff-match-patch/diff_match_patch.js": {
"text": "(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\"undefined\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\"Null input. (diff_main)\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\"undefined\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\"\"]);for(var e=d=b=0,f=\"\",g=\"\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\nd.length}d=e=0;g=f=\"\"}b++}a.pop();return a};\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\"\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\"\\n\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\"\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\"\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\"\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\s/;diff_match_patch.linebreakRegex_=/[\\r\\n]/;diff_match_patch.blanklineEndRegex_=/\\n\\r?\\n$/;diff_match_patch.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\"\"]);for(var b=0,c=0,d=0,e=\"\",f=\"\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\"\"}\"\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\"&\").replace(d,\"<\").replace(e,\">\").replace(f,\"¶<br>\");switch(h){case DIFF_INSERT:b[g]='<ins style=\"background:#e6ffe6;\">'+l+\"</ins>\";break;case DIFF_DELETE:b[g]='<del style=\"background:#ffe6e6;\">'+l+\"</del>\";break;case DIFF_EQUAL:b[g]=\"<span>\"+l+\"</span>\"}}return b.join(\"\")};\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\"\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\"\")};\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\"+\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\"-\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\"=\"+a[c][1].length}return b.join(\"\\t\").replace(/%20/g,\" \")};\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \"+\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\"Illegal escape in diff_fromDelta: \"+h);}break;case \"-\":case \"=\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\"Invalid number in diff_fromDelta: \"+h);h=a.substring(e,e+=l);\"=\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\"Invalid diff operation in diff_fromDelta: \"+\nf[g]);}}if(e!=a.length)throw Error(\"Delta length (\"+e+\") does not equal source text length (\"+a.length+\").\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\"Null input. (match_main)\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\"Pattern too long for this browser.\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\"string\"==typeof a&&\"string\"==typeof b&&\"undefined\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\"object\"==typeof a&&\"undefined\"==typeof b&&\"undefined\"==typeof c)b=a,d=this.diff_text1(b);else if(\"string\"==typeof a&&b&&\"object\"==typeof b&&\"undefined\"==typeof c)d=a;else if(\"string\"==typeof a&&\"string\"==typeof b&&c&&\"object\"==typeof c)d=a,b=c;else throw Error(\"Unknown call format to patch_make.\");\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\"\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\"\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\"\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\nthis.Patch_Margin);\"\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\"\")};\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\"\\n\");for(var c=0,d=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\"Invalid patch string: \"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\"\"===e[2]?(f.start1--,f.length1=1):\"0\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\"\"===e[4]?(f.start2--,f.length2=1):\"0\"==e[4]?f.length2=0:(f.start2--,f.length2=\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\"Illegal escape in patch_fromText: \"+g);}if(\"-\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\"+\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\" \"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\"@\"==e)break;else if(\"\"!==e)throw Error('Invalid patch mode \"'+e+'\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\"@@ -\"+(0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1)+\" +\"+(0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2)+\" @@\\n\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\"+\";break;case DIFF_DELETE:b=\"-\";break;case DIFF_EQUAL:b=\" \"}a[c+1]=b+encodeURI(this.diffs[c][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")};\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\n}).call(exports);",
"type": "application/javascript",
"title": "$:/core/modules/utils/diff-match-patch/diff_match_patch.js",
"module-type": "library"
},
"$:/core/modules/utils/dom/animations/slide.js": {
"title": "$:/core/modules/utils/dom/animations/slide.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "animation"
},
"$:/core/modules/utils/dom/animator.js": {
"title": "$:/core/modules/utils/dom/animator.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/browser.js": {
"title": "$:/core/modules/utils/dom/browser.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/csscolorparser.js": {
"title": "$:/core/modules/utils/dom/csscolorparser.js",
"text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom.js": {
"title": "$:/core/modules/utils/dom.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch (err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\t$tw.notifier.display(succeeded ? \"$:/language/Notifications/CopiedToClipboard/Succeeded\" : \"$:/language/Notifications/CopiedToClipboard/Failed\");\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\nexports.getLocationPath = function() {\n\treturn window.location.toString().split(\"#\")[0];\n};\n\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/dragndrop.js": {
"title": "$:/core/modules/utils/dom/dragndrop.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t \tstartActions = options.startActions;\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t \t\tendActions = options.endActions;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/http.js": {
"title": "$:/core/modules/utils/dom/http.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\turl = options.url,\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tif(type === \"GET\" || type === \"HEAD\") {\n\t\t\t\turl += \"?\" + results.join(\"&\");\n\t\t\t} else {\n\t\t\t\tdata = results.join(\"&\");\n\t\t\t}\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,null,this);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!$tw.utils.hop(headers,\"X-Requested-With\")) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/keyboard.js": {
"title": "$:/core/modules/utils/dom/keyboard.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/modal.js": {
"title": "$:/core/modules/utils/dom/modal.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t\t\t(options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\tif(tiddler.fields && tiddler.fields.class) {\n\t\t$tw.utils.addClass(wrapper,tiddler.fields.class);\n\t}\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/notifier.js": {
"title": "$:/core/modules/utils/dom/notifier.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/popup.js": {
"title": "$:/core/modules/utils/dom/popup.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tvar popupRect = \"(\" + rect.left + \",\" + rect.top + \",\" + \n\t\t\t\trect.width + \",\" + rect.height + \")\";\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tif(popup.noStateReference) {\n\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t} else {\n\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n \t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/scroller.js": {
"title": "$:/core/modules/utils/dom/scroller.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.isScrolling = function() {\n\treturn this.idRequestFrame !== null;\n}\n\nPageScroller.prototype.cancelScroll = function(srcWindow) {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element,callback) {\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t srcWindow = element ? element.ownerDocument.defaultView : window;\n\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/edition-info.js": {
"title": "$:/core/modules/utils/edition-info.js",
"text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/fakedom.js": {
"title": "$:/core/modules/utils/fakedom.js",
"text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"style\", {\n\tget: function() {\n\t\treturn this._style;\n\t},\n\tset: function(str) {\n\t\tvar self = this;\n\t\tstr = str || \"\";\n\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\tif(name && value) {\n\t\t\t\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t}\n\t\t});\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/filesystem.js": {
"title": "$:/core/modules/utils/filesystem.js",
"text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {};\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\") {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar self = this,\n\t\tdirectory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\tfilepath;\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// If not, generate a base pathname\n\tif(!filepath) {\n\t\tfilepath = title;\n\t\t// If the filepath already ends in the extension then remove it\n\t\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t\t}\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t// Don't let the filename start with a dot because such files are invisible on *nix\n\tfilepath = filepath.replace(/^\\./g,\"_\");\n\t// Remove any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation characters)\n\tif(!filepath) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\t\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists\n\tvar fullPath,\n\t\tcount = 0;\n\tdo {\n\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\tcount++;\n\t} while(fs.existsSync(fullPath));\n\t// Return the full path to the file\n\treturn fullPath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",callback);\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",callback);\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",callback);\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/logger.js": {
"title": "$:/core/modules/utils/logger.js",
"text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n\tthis.save = \"save\" in options ? options.save : true;\n\tthis.saveLimit = options.saveLimit || 100 * 1024;\n\tthis.saveBufferLogger = this;\n\tthis.buffer = \"\";\n\tthis.alertCount = 0;\n}\n\nLogger.prototype.setSaveBuffer = function(logger) {\n\tthis.saveBufferLogger = logger;\n};\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tvar self = this;\n\tif(this.enable) {\n\t\tif(this.saveBufferLogger.save) {\n\t\t\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\"YYYY MM DD 0hh:0mm:0ss.0XXX\") + \":\";\n\t\t\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\n\t\t\t\tself.saveBufferLogger.buffer += \" \" + arg;\n\t\t\t});\n\t\t\tthis.saveBufferLogger.buffer += \"\\n\";\n\t\t\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\t\t\t\n\t\t}\n\t\tif(console !== undefined && console.log !== undefined) {\n\t\t\treturn Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));\n\t\t}\n\t} \n};\n\n/*\nRead the message buffer\n*/\nLogger.prototype.getBuffer = function() {\n\treturn this.saveBufferLogger.buffer;\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t\tthis.alertCount += 1;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\t\t\n\t}\n};\n\n/*\nClear outstanding alerts\n*/\nLogger.prototype.clearAlerts = function() {\n\tvar self = this;\n\tif($tw.browser && this.alertCount > 0) {\n\t\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.component === self.componentName) {\n\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t}\n\t\t});\n\t\tthis.alertCount = 0;\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/parsetree.js": {
"title": "$:/core/modules/utils/parsetree.js",
"text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/performance.js": {
"title": "$:/core/modules/utils/performance.js",
"text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\t\t\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if (self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = []\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/pluginmaker.js": {
"title": "$:/core/modules/utils/pluginmaker.js",
"text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/transliterate.js": {
"title": "$:/core/modules/utils/transliterate.js",
"text": "/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"Dz\":\"D\",\n\t\"Dž\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"DZ\":\"DZ\",\n\t\"DŽ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"Lj\":\"L\",\n\t\"Ł\":\"L\",\n\t\"LJ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"Nj\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"NJ\":\"NJ\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"IJ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"dz\":\"dz\",\n\t\"dž\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"lj\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"nj\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ff\":\"ff\",\n\t\"ffi\":\"ffi\",\n\t\"ffl\":\"ffl\",\n\t\"fi\":\"fi\",\n\t\"fl\":\"fl\",\n\t\"ij\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"st\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x00-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\"\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/utils.js": {
"title": "$:/core/modules/utils/utils.js",
"text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar base64utf8 = require(\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\");\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n}\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n}\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n}\n\t\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nDetermine whether an array-item is an object-property\n*/\nexports.hopArray = function(object,array) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tif($tw.utils.hop(object,array[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds(),3);\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s) {\n\t// See http://www.json.org/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/\\x08/g, '\\\\b') // backspace\n\t\t.replace(/\\x0c/g, '\\\\f') // formfeed\n\t\t.replace(/\\t/g, '\\\\t') // tab\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g,function(s) {\n\t\t\treturn '\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\treturn base64utf8.base64.decode.call(base64utf8,string64);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64) {\n\treturn base64utf8.base64.encode.call(base64utf8,string64);\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type,_canonical_uri) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tif(_canonical_uri) {\n\t\tparts.push(_canonical_uri);\n\t} else {\n\t\tparts.push(\"data:\");\n\t\tparts.push(type);\n\t\tparts.push(isBase64 ? \";base64\" : \"\");\n\t\tparts.push(\",\");\n\t\tparts.push(isBase64 ? text : encodeURIComponent(text));\t\t\n\t}\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nReturn system information useful for debugging\n*/\nexports.getSystemInfo = function(str,ending,position) {\n\tvar results = [],\n\t\tsave = function(desc,value) {\n\t\t\tresults.push(desc + \": \" + value);\n\t\t};\n\tif($tw.browser) {\n\t\tsave(\"User Agent\",navigator.userAgent);\n\t\tsave(\"Online Status\",window.navigator.onLine);\n\t}\n\tif($tw.node) {\n\t\tsave(\"Node Version\",process.version);\n\t}\n\treturn results.join(\"\\n\");\n};\n\nexports.parseNumber = function(str) {\n\treturn parseFloat(str) || 0;\n};\n\nexports.parseInt = function(str) {\n\treturn parseInt(str,10) || 0;\n};\n\nexports.stringifyNumber = function(num) {\n\treturn num + \"\";\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/widgets/action-createtiddler.js": {
"title": "$:/core/modules/widgets/action-createtiddler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw:false, require:false, exports:false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.hasBase = !!this.actionBaseTitle;\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n\t//Following params are new since 5.1.22\n\tthis.actionTemplate = this.getAttribute(\"$template\");\n\tthis.useTemplate = !!this.actionTemplate;\n\tthis.actionOverwrite = this.getAttribute(\"$overwrite\",\"no\");\n\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.getTiddlerText(\"$:/language/DefaultNewTiddlerTitle\"), // Get the initial new-tiddler title\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tif(this.hasBase && this.actionOverwrite === \"no\") {\n\t\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\n\t} else if (this.hasBase && this.actionOverwrite === \"yes\") {\n\t\ttitle = this.actionBaseTitle\n\t}\n\t// NO $basetitle BUT $template parameter is available\n\t// the title MUST be unique, otherwise the template would be overwritten\n\tif (!this.hasBase && this.useTemplate) {\n\t\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\n\t} else if (!this.hasBase && !this.useTemplate) {\n\t\t// If NO $basetitle AND NO $template use initial title\n\t\t// DON'T overwrite any stuff\n\t\ttitle = this.wiki.generateNewTitle(title);\n\t}\n\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,this.wiki.generateDraftTitle(title),this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletefield.js": {
"title": "$:/core/modules/widgets/action-deletefield.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletetiddler.js": {
"title": "$:/core/modules/widgets/action-deletetiddler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-listops.js": {
"title": "$:/core/modules/widgets/action-listops.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-navigate.js": {
"title": "$:/core/modules/widgets/action-navigate.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-popup.js": {
"title": "$:/core/modules/widgets/action-popup.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-popup.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to trigger a popup.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ActionPopupWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nActionPopupWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nActionPopupWidget.prototype.execute = function() {\n\tthis.actionState = this.getAttribute(\"$state\");\n\tthis.actionCoords = this.getAttribute(\"$coords\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$state\"] || changedAttributes[\"$coords\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Trigger the popup\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(this.actionCoords);\n\tif(match) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: null,\n\t\t\tdomNodeRect: {\n\t\t\t\tleft: parseFloat(match[1]),\n\t\t\t\ttop: parseFloat(match[2]),\n\t\t\t\twidth: parseFloat(match[3]),\n\t\t\t\theight: parseFloat(match[4])\n\t\t\t},\n\t\t\ttitle: this.actionState,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-popup\"] = ActionPopupWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-sendmessage.js": {
"title": "$:/core/modules/widgets/action-sendmessage.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-setfield.js": {
"title": "$:/core/modules/widgets/action-setfield.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/browse.js": {
"title": "$:/core/modules/widgets/browse.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/button.js": {
"title": "$:/core/modules/widgets/button.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\t\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/checkbox.js": {
"title": "$:/core/modules/widgets/checkbox.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/codeblock.js": {
"title": "$:/core/modules/widgets/codeblock.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/count.js": {
"title": "$:/core/modules/widgets/count.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = \"0\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/diff-text.js": {
"title": "$:/core/modules/widgets/diff-text.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tdmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tdiffs = dmpObject.diff_main(this.getAttribute(\"source\"),this.getAttribute(\"dest\"));\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmpObject.diff_cleanupEfficiency(diffs);\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmpObject.diff_cleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports[\"diff-text\"] = DiffTextWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/draggable.js": {
"title": "$:/core/modules/widgets/draggable.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\tstartActions: self.startActions,\n\t\tendActions: self.endActions,\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/droppable.js": {
"title": "$:/core/modules/widgets/droppable.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tvar domNode = this.document.createElement(tag),\n\t\tclasses = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tdomNode.className = classes.join(\" \");\n\t// Add event handlers\n\tif(this.droppableEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t\t]);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tvar modifierKey = event.ctrlKey && ! event.shiftKey ? \"ctrl\" : event.shiftKey && !event.ctrlKey ? \"shift\" : \n\t\t\t\tevent.ctrlKey && event.shiftKey ? \"ctrl-shift\" : \"normal\" ;\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableClass = this.getAttribute(\"class\");\n\tthis.droppableEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag || changedAttributes.enable) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/dropzone.js": {
"title": "$:/core/modules/widgets/dropzone.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = this.dropzoneClass || \"tc-dropzone\";\n\t// Add event handlers\n\tif(this.dropzoneEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\t\t\n\t}\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),readFileCallback);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneClass = this.getAttribute(\"class\");\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\tthis.dropzoneEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.enable) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-binary.js": {
"title": "$:/core/modules/widgets/edit-binary.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tvar tiddler = this.wiki.getTiddler(editTitle);\n\tvar type = tiddler.fields.type;\n\tvar text = tiddler.fields.text;\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on draft tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!draft.title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!draft.title\"}\n\t\t},\n\t\tchildren: [{\n\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to internal data URI (no external)\n\tif(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets([element]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-bitmap.js": {
"title": "$:/core/modules/widgets/edit-bitmap.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\t\t\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-shortcut.js": {
"title": "$:/core/modules/widgets/edit-shortcut.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-text.js": {
"title": "$:/core/modules/widgets/edit-text.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit.js": {
"title": "$:/core/modules/widgets/edit.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\tthis.editFocus = this.getAttribute(\"focus\",\"\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder},\n\t\t\t\"tabindex\": {type: \"string\", value: this.editTabIndex},\n\t\t\t\"focus\": {type: \"string\", value: this.editFocus}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/element.js": {
"title": "$:/core/modules/widgets/element.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\ttag = \"h\" + headingLevel;\n\t}\n\t// Create the DOM node\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/encrypt.js": {
"title": "$:/core/modules/widgets/encrypt.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/entity.js": {
"title": "$:/core/modules/widgets/entity.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fieldmangler.js": {
"title": "$:/core/modules/widgets/fieldmangler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fields.js": {
"title": "$:/core/modules/widgets/fields.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar excludeArr = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// Include takes precedence\n\tvar includeArr = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif (includeArr) { // Include takes precedence\n\t\t\tfor(var i=0; i<includeArr.length; i++) {\n\t\t\t\tif(tiddler.fields[includeArr[i]]) {\n\t\t\t\t\tfields.push(includeArr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(excludeArr.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.sort) fields.sort();\n\t\tif (this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\n\t\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\n\t\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/image.js": {
"title": "$:/core/modules/widgets/image.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/importvariables.js": {
"title": "$:/core/modules/widgets/importvariables.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar widgetPointer = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = widgetPointer.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\tvar node = {\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition\n\t\t\t\t};\n\t\t\t\tif (parseTreeNode.isMacroDefinition) {\n\t\t\t\t\t// Macro definitions can be folded into\n\t\t\t\t\t// current widget instead of adding\n\t\t\t\t\t// another link to the chain.\n\t\t\t\t\tvar widget = widgetPointer.makeChildWidget(node);\n\t\t\t\t\twidget.computeAttributes();\n\t\t\t\t\twidget.execute();\n\t\t\t\t\t// We SHALLOW copy over all variables\n\t\t\t\t\t// in widget. We can't use\n\t\t\t\t\t// $tw.utils.assign, because that copies\n\t\t\t\t\t// up the prototype chain, which we\n\t\t\t\t\t// don't want.\n\t\t\t\t\t$tw.utils.each(Object.keys(widget.variables), function(key) {\n\t\t\t\t\t\twidgetPointer.variables[key] = widget.variables[key];\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twidgetPointer.makeChildWidgets([node]);\n\t\t\t\t\twidgetPointer = widgetPointer.children[0];\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\n\tif (widgetPointer != this) {\n\t\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\n\t} else {\n\t\twidgetPointer.makeChildWidgets();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/keyboard.js": {
"title": "$:/core/modules/widgets/keyboard.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\tthis.shortcutTiddlers = [];\n\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t});\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/link.js": {
"title": "$:/core/modules/widgets/link.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\t\t\t\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses)\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to)\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/linkcatcher.js": {
"title": "$:/core/modules/widgets/linkcatcher.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t// This is a navigate event generated by the actions of this linkcatcher, so we don't trap it again, but just pass it to the parent\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: \"tm-navigate\",\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/list.js": {
"title": "$:/core/modules/widgets/list.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/macrocall.js": {
"title": "$:/core/modules/widgets/macrocall.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\t\tvariableInfo = this.getVariableInfo(macroName,{params: params}),\n\t\ttext = variableInfo.text,\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t\t// Wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\tvar attributes = {};\n\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\tvar name = \"__\" + param.name + \"__\";\n\t\t\tattributes[name] = {\n\t\t\t\tname: name,\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: param.value\n\t\t\t};\n\t\t});\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"vars\",\n\t\t\tattributes: attributes,\n\t\t\tchildren: parseTreeNodes\n\t\t}];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/navigator.js": {
"title": "$:/core/modules/widgets/navigator.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\t\t\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.wiki.addToStory(title,fromTitle,this.storyTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event);\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\tthis.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/password.js": {
"title": "$:/core/modules/widgets/password.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/qualify.js": {
"title": "$:/core/modules/widgets/qualify.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/radio.js": {
"title": "$:/core/modules/widgets/radio.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n \t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n \t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/range.js": {
"title": "$:/core/modules/widgets/range.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\t\t\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tfieldName = this.tiddlerField || \"text\",\n\t\tvalue = this.defaultValue;\n\tif(tiddler) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue || \"\");\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,fieldName)) {\n\t\t\t\tvalue = tiddler.fields[fieldName] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.defaultValue || \"\";\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.handleInputEvent = function(event) {\n\tif(this.getValue() !== this.inputDomNode.value) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,\"\",this.tiddlerIndex,this.inputDomNode.value);\n\t\t} else {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\");\n\tthis.tiddlerIndex = this.getAttribute(\"index\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes['min'] || changedAttributes['max'] || changedAttributes['increment'] || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tvar value = this.getValue();\n\t\t\tif(this.inputDomNode.value !== value) {\n\t\t\t\tthis.inputDomNode.value = value;\t\t\t\t\n\t\t\t}\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/raw.js": {
"title": "$:/core/modules/widgets/raw.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/reveal.js": {
"title": "$:/core/modules/widgets/reveal.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t defaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState()\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/scrollable.js": {
"title": "$:/core/modules/widgets/scrollable.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/select.js": {
"title": "$:/core/modules/widgets/select.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tselect.children[i].selected = values.indexOf(select.children[i].value) !== -1\n\t\t}\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tif(this.selectTooltip) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"title\",this.selectTooltip);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex || changedAttributes.selectTooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/set.js": {
"title": "$:/core/modules/widgets/set.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,!!this.parseTreeNode.isMacroDefinition);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\t\t\t\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/text.js": {
"title": "$:/core/modules/widgets/text.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/tiddler.js": {
"title": "$:/core/modules/widgets/tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/transclude.js": {
"title": "$:/core/modules/widgets/transclude.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/vars.js": {
"title": "$:/core/modules/widgets/vars.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/view.js": {
"title": "$:/core/modules/widgets/view.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/widget.js": {
"title": "$:/core/modules/widgets/widget.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition) {\n\tthis.variables[name] = {value: value, params: params, isMacroDefinition: !!isMacroDefinition};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:} of parameters passed to wikitext variables\ntext: text of variable, with parameters properly substituted\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value,\n\t\t\tparams = this.resolveVariableParameters(variable.params,actualParams);\n\t\t// Substitute any parameters specified in the definition\n\t\t$tw.utils.each(params,function(param) {\n\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t});\n\t\t// Only substitute variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tvalue = this.substituteVariableReferences(value);\t\t\t\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn {\n\t\ttext: this.evaluateMacroModule(name,actualParams,options.defaultValue)\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor (var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/wikify.js": {
"title": "$:/core/modules/widgets/wikify.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/wiki-bulkops.js": {
"title": "$:/core/modules/wiki-bulkops.js",
"text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/wiki.js": {
"title": "$:/core/modules/wiki.js",
"text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.isBinaryTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.encoding === \"base64\";\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x : x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if(isAlphaNumeric) {\n\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked within the given parse tree\n */\nexports.extractLinks = function(parseTreeRoot) {\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn links;\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractLinks(parser.tree);\n\t\t}\n\t\treturn [];\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinksIndexer = this.getIndexer(\"BacklinksIndexer\"),\n\t\tbacklinks = backlinksIndexer && backlinksIndexer.lookup(targetTitle);\n\n\tif(!backlinks) {\n\t\tbacklinks = [];\n\t\tthis.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self.getTiddlerLinks(title);\n\t\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\t\tbacklinks.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\t// Given a title, this function will place it in the correct location\n\t// within titles.\n\tfunction moveItemInList(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\t// if this title is placed relative\n\t\t\t\t\t// to another title, make sure that\n\t\t\t\t\t// title is placed before we place\n\t\t\t\t\t// this one.\n\t\t\t\t\tmoveItemInList(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\t// Same deal\n\t\t\t\t\tmoveItemInList(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If a new position is specified, let's move it\n\t\t\t\tif (newPos !== -1) {\n\t\t\t\t\t// get its current Pos, and make sure\n\t\t\t\t\t// sure that it's _actually_ in the list\n\t\t\t\t\t// and that it would _actually_ move\n\t\t\t\t\t// (#4275) We don't bother calling\n\t\t\t\t\t// indexOf unless we have a new\n\t\t\t\t\t// position to work with\n\t\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\t\t// move it!\n\t\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tmoveItemInList(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter,spaces) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,spaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type,tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title}},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, regardless of adjacency or ordering\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\t\t\t\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(!tiddler.hasField(\"_is_skinny\")) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text || \"\";\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\t\t\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\tstory.addToStory(title,fromTitle,options);\t\t\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle,\n\t\tusername = this.getTiddlerText(\"$:/status/UserName\"),\n\t\tattribution = username ? \" by \" + username : \"\";\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\" + attribution;\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n// Determine whether a plugin by title is dynamically loadable\nexports.doesPluginRequireReload = function(title) {\n\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\n};\n\n// Determine whether a plugin info structure is dynamically loadable\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\n\tif(pluginInfo) {\n\t\tvar foundModule = false;\n\t\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\n\t\t\tif(tiddler.type === \"application/javascript\" && $tw.utils.hop(tiddler,\"module-type\")) {\n\t\t\t\tfoundModule = true;\n\t\t\t}\n\t\t});\n\t\treturn foundModule;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n})();\n\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/palettes/Blanca": {
"title": "$:/palettes/Blanca",
"name": "Blanca",
"description": "A clean white palette to let you focus",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Blue": {
"title": "$:/palettes/Blue",
"name": "Blue",
"description": "A blue theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Muted": {
"title": "$:/palettes/Muted",
"name": "Muted",
"description": "Bright tiddlers on a muted background",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastLight": {
"title": "$:/palettes/ContrastLight",
"name": "Contrast (Light)",
"description": "High contrast and unambiguous (light version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastDark": {
"title": "$:/palettes/ContrastDark",
"name": "Contrast (Dark)",
"description": "High contrast and unambiguous (dark version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/DarkPhotos": {
"title": "$:/palettes/DarkPhotos",
"created": "20150402111612188",
"description": "Good with dark photo backgrounds",
"modified": "20150402112344080",
"name": "DarkPhotos",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/GruvboxDark": {
"title": "$:/palettes/GruvboxDark",
"name": "Gruvbox Dark",
"description": "Retro groove color scheme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"license": "https://github.com/morhetz/gruvbox",
"text": "alert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #504945\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #504945\nbutton-foreground: #fbf1c7\nbutton-border: transparent\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fb4934\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #fb4934\ndownload-background: #b8bb26\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nforeground: #fbf1c7\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #83a598\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #d79921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #7c6f64\nsidebar-controls-foreground: #504945\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: #7c6f64\nsidebar-muted-foreground: #504945\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #282828\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: #665c54\ntab-border: #665c54\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: #7c6f64\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #282828\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #504945\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: <<colour button-background>>\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>"
},
"$:/palettes/Nord": {
"title": "$:/palettes/Nord",
"name": "Nord",
"description": "An arctic, north-bluish color palette.",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"license": "MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md",
"text": "alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #4C566A\nbutton-foreground: #D8DEE9\nbutton-border: transparent\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #4C566A\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #2e3440\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\n"
},
"$:/palettes/Rocker": {
"title": "$:/palettes/Rocker",
"name": "Rocker",
"description": "A dark theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarFlare": {
"title": "$:/palettes/SolarFlare",
"name": "Solar Flare",
"description": "Warm, relaxing earth colours",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarizedLight": {
"title": "$:/palettes/SolarizedLight",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Precision colors for machines and people",
"license": "MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE",
"name": "SolarizedLight",
"text": "alert-background: #eee8d5\nalert-border: #073642\nalert-highlight: #cb4b16\nalert-muted-foreground: #586e75\nbackground: #fdf6e3\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #cb4b16\nbutton-foreground: #fdf6e3\nbutton-border: transparent\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #d33682\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #859900\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #D08770\ndownload-background: #859900\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #fdf6e3\ndropdown-tab-background: #93a1a1\ndropzone-background: #859900\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: #d33682\nexternal-link-foreground-visited: #b58900\nexternal-link-foreground: #cb4b16\nforeground: #839496\nmessage-background: #586e75\nmessage-border: #586e75\nmessage-foreground: #eee8d5\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #eee8d5\nmodal-footer-background: #eee8d5\nmodal-footer-border: #eee8d5\nmodal-header-border: #eee8d5\nmuted-foreground: #93a1a1\nnotification-background: #EBCB8B\nnotification-border: #D08770\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #93a1a1\nprimary: #2aa198\nselect-tag-background: #eee8d5\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: #eee8d5\nsidebar-controls-foreground-hover: #268bd2\nsidebar-controls-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #839496\nsidebar-muted-foreground-hover: #657b83\nsidebar-muted-foreground: #93a1a1\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-background: #839496\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #657b83\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #839496\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #859900\nsidebar-tiddler-link-foreground: #268bd2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #dc322f\ntab-background-selected: #fdf6e3\ntab-background: #839496\ntab-border-selected: #93a1a1\ntab-border: #93a1a1\ntab-divider: #fdf6e3\ntab-foreground-selected: #839496\ntab-foreground: #eee8d5\ntable-border: #657b83\ntable-footer-background: #657b83\ntable-header-background: #93a1a1\ntag-background: #6c71c4\ntag-foreground: #eee8d5\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #b58900\ntiddler-controls-foreground-selected: #b58900\ntiddler-controls-foreground: #073642\ntiddler-editor-background: #eee8d5\ntiddler-editor-border-image: #eee8d5\ntiddler-editor-border: #eee8d5\ntiddler-editor-fields-even: #eee8d5\ntiddler-editor-fields-odd: #fdf6e3\ntiddler-info-background: #eee8d5\ntiddler-info-border: #eee8d5\ntiddler-info-tab-background: #586e75\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #586e75\ntiddler-title-foreground: #073642\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #839496\nvery-muted-foreground: #93a1a1\n"
},
"$:/palettes/SpartanDay": {
"title": "$:/palettes/SpartanDay",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Cold, spartan day colors",
"name": "Spartan Day",
"text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"
},
"$:/palettes/SpartanNight": {
"title": "$:/palettes/SpartanNight",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Dark spartan colors",
"name": "Spartan Night",
"text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"
},
"$:/palettes/Twilight": {
"title": "$:/palettes/Twilight",
"tags": "$:/tags/Palette",
"author": "Thomas Elmiger",
"type": "application/x-tiddler-dictionary",
"name": "Twilight",
"description": "Delightful, soft darkness.",
"text": "alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"
},
"$:/palettes/Vanilla": {
"title": "$:/palettes/Vanilla",
"name": "Vanilla",
"description": "Pale and unobtrusive",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #fff\nwikilist-info: #000\nwikilist-title: #666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: green\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: blue\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: red\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000\n"
},
"$:/core/readme": {
"title": "$:/core/readme",
"text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
},
"$:/library/sjcl.js/license": {
"title": "$:/library/sjcl.js/license",
"type": "text/plain",
"text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
},
"$:/core/templates/MOTW.html": {
"title": "$:/core/templates/MOTW.html",
"text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com --> "
},
"$:/core/templates/alltiddlers.template.html": {
"title": "$:/core/templates/alltiddlers.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
},
"$:/core/templates/canonical-uri-external-image": {
"title": "$:/core/templates/canonical-uri-external-image",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-raw": {
"title": "$:/core/templates/canonical-uri-external-raw",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-text": {
"title": "$:/core/templates/canonical-uri-external-text",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
},
"$:/core/templates/css-tiddler": {
"title": "$:/core/templates/css-tiddler",
"text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
},
"$:/core/templates/exporters/CsvFile": {
"title": "$:/core/templates/exporters/CsvFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/CsvFile}}",
"extension": ".csv",
"text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/JsonFile": {
"title": "$:/core/templates/exporters/JsonFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/JsonFile}}",
"extension": ".json",
"text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/StaticRiver": {
"title": "$:/core/templates/exporters/StaticRiver",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/StaticRiver}}",
"extension": ".html",
"text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
},
"$:/core/templates/exporters/StaticRiver/Content": {
"title": "$:/core/templates/exporters/StaticRiver/Content",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>\n"
},
"$:/core/templates/exporters/TidFile": {
"title": "$:/core/templates/exporters/TidFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/TidFile}}",
"extension": ".tid",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>"
},
"$:/core/save/all-external-js": {
"title": "$:/core/save/all-external-js",
"text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5-external-js.html}}\n"
},
"$:/core/templates/tiddlywiki5.js": {
"title": "$:/core/templates/tiddlywiki5.js",
"text": "\\rules only filteredtranscludeinline transcludeinline codeinline\n\n/*\n{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}\n`*/\n`<!--~~ Library modules ~~-->\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/plain-text-tiddler}}}\n<!--~~ Boot prefix ~~-->\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n<!--~~ Core plugin ~~-->\n{{$:/core/templates/tiddlywiki5.js/tiddlers}}\n<!--~~ Boot kernel ~~-->\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n"
},
"$:/core/templates/tiddlywiki5.js/tiddlers": {
"title": "$:/core/templates/tiddlywiki5.js/tiddlers",
"text": "`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n$tw.preloadTiddlerArray([{\n\ttitle: \"$:/config/SaveWikiButton/Template\",\n\ttext: \"$:/core/save/all-external-js\"\n}]);\n`\n"
},
"$:/core/templates/tiddlywiki5-external-js.html": {
"title": "$:/core/templates/tiddlywiki5-external-js.html",
"text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Raw markup for the bottom of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}\n</body>\n<script src=\"%24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\" onerror=\"alert('Error: Cannot load tiddlywiki.js');\"></script>\n</html>\n"
},
"$:/core/templates/html-div-skinny-tiddler": {
"title": "$:/core/templates/html-div-skinny-tiddler",
"text": "<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n"
},
"$:/core/templates/html-div-tiddler": {
"title": "$:/core/templates/html-div-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
},
"$:/core/templates/html-tiddler": {
"title": "$:/core/templates/html-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
},
"$:/core/templates/javascript-tiddler": {
"title": "$:/core/templates/javascript-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
},
"$:/core/templates/json-tiddler": {
"title": "$:/core/templates/json-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
},
"$:/core/templates/module-tiddler": {
"title": "$:/core/templates/module-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
},
"$:/core/templates/plain-text-tiddler": {
"title": "$:/core/templates/plain-text-tiddler",
"text": "<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/raw-static-tiddler": {
"title": "$:/core/templates/raw-static-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
},
"$:/core/save/all": {
"title": "$:/core/save/all",
"text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/empty": {
"title": "$:/core/save/empty",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-all": {
"title": "$:/core/save/lazy-all",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-images": {
"title": "$:/core/save/lazy-images",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/templates/server/static.sidebar.wikitext": {
"title": "$:/core/templates/server/static.sidebar.wikitext",
"text": "\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\">\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"
},
"$:/core/templates/server/static.tiddler.html": {
"title": "$:/core/templates/server/static.tiddler.html",
"text": "\\whitespace trim\n\\define tv-wikilink-template() $uri_encoded$\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\">\n<div class=\"tc-tiddler-frame\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"
},
"$:/core/templates/server/static.tiddler.wikitext": {
"title": "$:/core/templates/server/static.tiddler.wikitext",
"text": "\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n"
},
"$:/core/templates/single.tiddler.window": {
"title": "$:/core/templates/single.tiddler.window",
"text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/templates/split-recipe": {
"title": "$:/core/templates/split-recipe",
"text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
},
"$:/core/templates/static-tiddler": {
"title": "$:/core/templates/static-tiddler",
"text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
},
"$:/core/templates/static.area": {
"title": "$:/core/templates/static.area",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n"
},
"$:/core/templates/static.content": {
"title": "$:/core/templates/static.content",
"text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
},
"$:/core/templates/static.template.css": {
"title": "$:/core/templates/static.template.css",
"text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
},
"$:/core/templates/static.template.html": {
"title": "$:/core/templates/static.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
},
"$:/core/templates/static.tiddler.html": {
"title": "$:/core/templates/static.tiddler.html",
"text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`"
},
"$:/core/templates/store.area.template.html": {
"title": "$:/core/templates/store.area.template.html",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n<$list filter={{{ [<skinnySaveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
},
"$:/core/templates/tid-tiddler": {
"title": "$:/core/templates/tid-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/tiddler-metadata": {
"title": "$:/core/templates/tiddler-metadata",
"text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
},
"$:/core/templates/tiddlywiki5.html": {
"title": "$:/core/templates/tiddlywiki5.html",
"text": "<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"
},
"$:/core/templates/version": {
"title": "$:/core/templates/version",
"text": "<<version>>"
},
"$:/core/templates/wikified-tiddler": {
"title": "$:/core/templates/wikified-tiddler",
"text": "<$transclude />"
},
"$:/core/ui/AboveStory/tw2-plugin-check": {
"title": "$:/core/ui/AboveStory/tw2-plugin-check",
"tags": "$:/tags/AboveStory",
"text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/Actions/new-image": {
"title": "$:/core/ui/Actions/new-image",
"tags": "$:/tags/Actions",
"description": "create a new image tiddler",
"text": "\\define get-type()\nimage/$(imageType)$\n\\end\n<$vars imageType={{$:/config/NewImageType}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=<<get-type>> tags={{$:/config/NewTiddler/Tags!!tags}}/>\n</$vars>\n"
},
"$:/core/ui/Actions/new-journal": {
"title": "$:/core/ui/Actions/new-journal",
"tags": "$:/tags/Actions",
"description": "create a new journal tiddler",
"text": "<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n"
},
"$:/core/ui/Actions/new-tiddler": {
"title": "$:/core/ui/Actions/new-tiddler",
"tags": "$:/tags/Actions",
"description": "create a new empty tiddler",
"text": "<$action-sendmessage $message=\"tm-new-tiddler\" tags={{$:/config/NewTiddler/Tags!!tags}}/>\n"
},
"$:/core/ui/AdvancedSearch/Filter": {
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Filter/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Shadows/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Standard": {
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Standard/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/System": {
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/System/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/AdvancedSearch": {
"title": "$:/AdvancedSearch",
"icon": "$:/core/images/advanced-search-button",
"color": "#bbb",
"text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
},
"$:/core/ui/AlertTemplate": {
"title": "$:/core/ui/AlertTemplate",
"text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=<<format>>/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
},
"$:/core/ui/BinaryWarning": {
"title": "$:/core/ui/BinaryWarning",
"text": "\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n"
},
"$:/core/ui/Components/plugin-info": {
"title": "$:/core/ui/Components/plugin-info",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1>\n''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view> $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
},
"$:/core/ui/Components/tag-link": {
"title": "$:/core/ui/Components/tag-link",
"text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
},
"$:/core/ui/ControlPanel/Advanced": {
"title": "$:/core/ui/ControlPanel/Advanced",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
"text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Appearance": {
"title": "$:/core/ui/ControlPanel/Appearance",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
"text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Basics": {
"title": "$:/core/ui/ControlPanel/Basics",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Basics/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$list filter=\"[[$:/config/NewTiddler/Tags]]\" template=\"$:/core/ui/EditTemplate/tags\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$list filter=\"[[$:/config/NewJournal/Tags]]\" template=\"$:/core/ui/EditTemplate/tags\"/> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
},
"$:/core/ui/ControlPanel/EditorTypes": {
"title": "$:/core/ui/ControlPanel/EditorTypes",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/Info": {
"title": "$:/core/ui/ControlPanel/Info",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Info/Caption}}",
"text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/KeyboardShortcuts": {
"title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/LoadedModules": {
"title": "$:/core/ui/ControlPanel/LoadedModules",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
},
"$:/core/ui/ControlPanel/Modals/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
"subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
"text": "\\define install-plugin-actions()\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[<libraryVersion>compare:version:lt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\">\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\"\"\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>: <$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}}\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]\" variable=\"dependency\">\n<$text text=<<dependency>>/>\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[title]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[title]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<div>\n<<plugin-library-listing>>\n</div>\n"
},
"$:/core/ui/ControlPanel/Palette": {
"title": "$:/core/ui/ControlPanel/Palette",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Palette/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"
},
"$:/core/ui/ControlPanel/Parsing": {
"title": "$:/core/ui/ControlPanel/Parsing",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
},
"$:/core/ui/ControlPanel/Plugins/Add/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
"text": "<<display-server-assets language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
"text": "<<display-server-assets plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
"text": "<<display-server-assets theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Updates": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Updates",
"caption": "<$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>",
"text": "\\define each-updateable-plugin(body)\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"[[<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}} {{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n"
},
"$:/core/ui/ControlPanel/Plugins/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
"text": "<<plugin-table language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
"text": "<<plugin-table plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
"text": "<<plugin-table theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[title]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
},
"$:/core/ui/ControlPanel/Saving/DownloadSaver": {
"title": "$:/core/ui/ControlPanel/Saving/DownloadSaver",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Saving/General": {
"title": "$:/core/ui/ControlPanel/Saving/General",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/General/Caption}}",
"list-before": "",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Saving/GitHub": {
"title": "$:/core/ui/ControlPanel/Saving/GitHub",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |"
},
"$:/core/ui/ControlPanel/Saving/GitLab": {
"title": "$:/core/ui/ControlPanel/Saving/GitLab",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |"
},
"$:/core/ui/ControlPanel/Saving/TiddlySpot": {
"title": "$:/core/ui/ControlPanel/Saving/TiddlySpot",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<backupLink>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
},
"$:/core/ui/ControlPanel/Saving/Gitea": {
"title": "$:/core/ui/ControlPanel/Saving/Gitea",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\"/> |\n"
},
"$:/core/ui/ControlPanel/Saving": {
"title": "$:/core/ui/ControlPanel/Saving",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Saving/Caption}}",
"text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Saving/General\">>\n</div>\n"
},
"$:/core/buttonstyles/Borderless": {
"title": "$:/core/buttonstyles/Borderless",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
"text": "tc-btn-invisible"
},
"$:/core/buttonstyles/Boxed": {
"title": "$:/core/buttonstyles/Boxed",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
"text": "tc-btn-boxed"
},
"$:/core/buttonstyles/Rounded": {
"title": "$:/core/buttonstyles/Rounded",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
"text": "tc-btn-rounded"
},
"$:/core/ui/ControlPanel/Settings/CamelCase": {
"title": "$:/core/ui/ControlPanel/Settings/CamelCase",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab": {
"title": "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab",
"caption": "{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
"title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
"caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/InfoPanelMode": {
"title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
"title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/MissingLinks": {
"title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationHistory": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"><<lingo CopyToClipboard/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"><<lingo UpdateAddressBar/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
"title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/TitleLinks": {
"title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/StoryView": {
"title": "$:/core/ui/ControlPanel/StoryView",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
"text": "{{$:/snippets/viewswitcher}}\n"
},
"$:/core/ui/ControlPanel/Stylesheets": {
"title": "$:/core/ui/ControlPanel/Stylesheets",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Stylesheets/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"
},
"$:/core/ui/ControlPanel/Theme": {
"title": "$:/core/ui/ControlPanel/Theme",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Theme/Caption}}",
"text": "{{$:/snippets/themeswitcher}}\n"
},
"$:/core/ui/ControlPanel/TiddlerFields": {
"title": "$:/core/ui/ControlPanel/TiddlerFields",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
},
"$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
},
"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/PageControls": {
"title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars": {
"title": "$:/core/ui/ControlPanel/Toolbars",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
"text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
},
"$:/ControlPanel": {
"title": "$:/ControlPanel",
"icon": "$:/core/images/options-button",
"color": "#bbb",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
},
"$:/core/ui/DefaultSearchResultList": {
"title": "$:/core/ui/DefaultSearchResultList",
"tags": "$:/tags/SearchResults",
"caption": "{{$:/language/Search/DefaultResults/Caption}}",
"text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
},
"$:/core/ui/EditTemplate/body/preview/diffs-current": {
"title": "$:/core/ui/EditTemplate/body/preview/diffs-current",
"tags": "$:/tags/EditPreview",
"caption": "differences from current",
"list-after": "$:/core/ui/EditTemplate/body/preview/output",
"text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
},
"$:/core/ui/EditTemplate/body/preview/diffs-shadow": {
"title": "$:/core/ui/EditTemplate/body/preview/diffs-shadow",
"tags": "$:/tags/EditPreview",
"caption": "differences from shadow (if any)",
"list-after": "$:/core/ui/EditTemplate/body/preview/output",
"text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
},
"$:/core/ui/EditTemplate/body/preview/output": {
"title": "$:/core/ui/EditTemplate/body/preview/output",
"tags": "$:/tags/EditPreview",
"caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
"text": "\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
},
"$:/state/showeditpreview": {
"title": "$:/state/showeditpreview",
"text": "no"
},
"$:/core/ui/EditTemplate/body/editor": {
"title": "$:/core/ui/EditTemplate/body/editor",
"text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor tc-edit-texteditor-body\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n tabindex={{$:/config/EditTabIndex}}\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
},
"$:/core/ui/EditTemplate/body/toolbar/button": {
"title": "$:/core/ui/EditTemplate/body/toolbar/button",
"text": "\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[all[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}}></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[all[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/controls": {
"title": "$:/core/ui/EditTemplate/controls",
"tags": "$:/tags/EditTemplate",
"text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define current-tiddler-new-field-selector()\n[data-tiddler-title=\"$(currentTiddlerCSSescaped)$\"] .tc-edit-field-add-name input\n\\end\n\n\\define new-field-actions()\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/>\n\\end\n\n\\define new-field()\n<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button tooltip=<<lingo Fields/Add/Button/Hint>>>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>> \n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=<<newFieldNameTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}}/>\n</span> \n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> \n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=<<newFieldNameTiddler>>>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$set name=\"newFieldName\" value={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$set>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}>\n<$keyboard key=\"((add-field))\" actions=<<new-field-actions>>>\n<$edit-text tiddler=<<newFieldValueTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" tabindex={{$:/config/EditTabIndex}}/>\n</$keyboard>\n</$set>\n</span> \n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"
},
"$:/core/ui/EditTemplate/shadow": {
"title": "$:/core/ui/EditTemplate/shadow",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
},
"$:/core/ui/EditTemplate/tags": {
"title": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"text": "\\whitespace trim\n\n\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon)\n\\whitespace trim\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label tc-tag-list-item\">\n<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">{{$:/core/images/close-button}}</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette,icon)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\"\"\"$icon$\"\"\"/>\n\\end\n\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}}/>\n</$list>\n<$set name=\"tabIndex\" value={{$:/config/EditTabIndex}}>\n<$macrocall $name=\"tag-picker\"/>\n</$set>\n</$fieldmangler>\n</div>\n"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}}/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\whitespace trim\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}}/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n"
},
"$:/core/ui/EditTemplate": {
"title": "$:/core/ui/EditTemplate",
"text": "\\define save-tiddler-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>\n<$fieldmangler>\n<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify \"$:/temp/NewTagName\">> newFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">> newFieldValueTiddler=<<qualify \"$:/temp/NewFieldValue\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n"
},
"$:/core/ui/Buttons/cancel": {
"title": "$:/core/ui/Buttons/cancel",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
"description": "{{$:/language/Buttons/Cancel/Hint}}",
"text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/delete": {
"title": "$:/core/ui/Buttons/delete",
"tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
"caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
"description": "{{$:/language/Buttons/Delete/Hint}}",
"text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save": {
"title": "$:/core/ui/Buttons/save",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
"description": "{{$:/language/Buttons/Save/Hint}}",
"text": "\\define save-tiddler-button()\n<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<<save-tiddler-actions>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>\n\\end\n<<save-tiddler-button>>\n"
},
"$:/core/ui/EditorToolbar/bold": {
"title": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}}",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
},
"$:/core/ui/EditorToolbar/clear-dropdown": {
"title": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
},
"$:/core/ui/EditorToolbar/clear": {
"title": "$:/core/ui/EditorToolbar/clear",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/erase",
"caption": "{{$:/language/Buttons/Clear/Caption}}",
"description": "{{$:/language/Buttons/Clear/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/editor-height-dropdown": {
"title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
},
"$:/core/ui/EditorToolbar/editor-height": {
"title": "$:/core/ui/EditorToolbar/editor-height",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/fixed-height",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
"description": "{{$:/language/Buttons/EditorHeight/Hint}}",
"condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]",
"dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/excise-dropdown": {
"title": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
},
"$:/core/ui/EditorToolbar/excise": {
"title": "$:/core/ui/EditorToolbar/excise",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/excise",
"caption": "{{$:/language/Buttons/Excise/Caption}}",
"description": "{{$:/language/Buttons/Excise/Hint}}",
"condition": "[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]",
"shortcuts": "((excise))",
"dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/heading-1": {
"title": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}}",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-2": {
"title": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}}",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-3": {
"title": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}}",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}}",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}}",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}}",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
},
"$:/core/ui/EditorToolbar/italic": {
"title": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}}",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
},
"$:/core/ui/EditorToolbar/line-width-dropdown": {
"title": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/line-width": {
"title": "$:/core/ui/EditorToolbar/line-width",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/line-width",
"caption": "{{$:/language/Buttons/LineWidth/Caption}}",
"description": "{{$:/language/Buttons/LineWidth/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
},
"$:/core/ui/EditorToolbar/link-dropdown": {
"title": "$:/core/ui/EditorToolbar/link-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $tiddler=<<dropdown-state>> />\n<$action-deletetiddler $tiddler=<<searchTiddler>> />\n<$action-deletetiddler $tiddler=<<linkTiddler>> />\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"ENTER\" actions=<<add-link-actions>>>\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$vars>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
},
"$:/core/ui/EditorToolbar/link": {
"title": "$:/core/ui/EditorToolbar/link",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/link",
"caption": "{{$:/language/Buttons/Link/Caption}}",
"description": "{{$:/language/Buttons/Link/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((link))",
"dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/linkify": {
"title": "$:/core/ui/EditorToolbar/linkify",
"caption": "{{$:/language/Buttons/Linkify/Caption}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Buttons/Linkify/Hint}}",
"icon": "$:/core/images/linkify",
"list-before": "$:/core/ui/EditorToolbar/mono-block",
"shortcuts": "((linkify))",
"tags": "$:/tags/EditorToolbar",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-bullet": {
"title": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}}",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-number": {
"title": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}}",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-block": {
"title": "$:/core/ui/EditorToolbar/mono-block",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-block",
"caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
"description": "{{$:/language/Buttons/MonoBlock/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((mono-block))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-line": {
"title": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}}",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/core/ui/EditorToolbar/more-dropdown": {
"title": "$:/core/ui/EditorToolbar/more-dropdown",
"text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
},
"$:/core/ui/EditorToolbar/more": {
"title": "$:/core/ui/EditorToolbar/more",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/down-arrow",
"caption": "{{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"condition": "[<targetTiddler>]",
"dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/opacity-dropdown": {
"title": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/EditorToolbar/opacity": {
"title": "$:/core/ui/EditorToolbar/opacity",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/opacity",
"caption": "{{$:/language/Buttons/Opacity/Caption}}",
"description": "{{$:/language/Buttons/Opacity/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
},
"$:/core/ui/EditorToolbar/paint-dropdown": {
"title": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/paint": {
"title": "$:/core/ui/EditorToolbar/paint",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/paint",
"caption": "{{$:/language/Buttons/Paint/Caption}}",
"description": "{{$:/language/Buttons/Paint/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
},
"$:/core/ui/EditorToolbar/picture-dropdown": {
"title": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/picture": {
"title": "$:/core/ui/EditorToolbar/picture",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/picture",
"caption": "{{$:/language/Buttons/Picture/Caption}}",
"description": "{{$:/language/Buttons/Picture/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((picture))",
"dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/preview-type-dropdown": {
"title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
"text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/preview-type": {
"title": "$:/core/ui/EditorToolbar/preview-type",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/chevron-down",
"caption": "{{$:/language/Buttons/PreviewType/Caption}}",
"description": "{{$:/language/Buttons/PreviewType/Hint}}",
"condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
"button-classes": "tc-text-editor-toolbar-item-adjunct",
"dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
},
"$:/core/ui/EditorToolbar/preview": {
"title": "$:/core/ui/EditorToolbar/preview",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/preview-open",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/Preview/Caption}}",
"description": "{{$:/language/Buttons/Preview/Hint}}",
"condition": "[<targetTiddler>]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((preview))",
"text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/quote": {
"title": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}}",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
},
"$:/core/ui/EditorToolbar/rotate-left": {
"title": "$:/core/ui/EditorToolbar/rotate-left",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/rotate-left",
"caption": "{{$:/language/Buttons/RotateLeft/Caption}}",
"description": "{{$:/language/Buttons/RotateLeft/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"
},
"$:/core/ui/EditorToolbar/size-dropdown": {
"title": "$:/core/ui/EditorToolbar/size-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
},
"$:/core/ui/EditorToolbar/size": {
"title": "$:/core/ui/EditorToolbar/size",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/size",
"caption": "{{$:/language/Buttons/Size/Caption}}",
"description": "{{$:/language/Buttons/Size/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/stamp-dropdown": {
"title": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n</$list>\n\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [[$(snippetTitle)$]addsuffix[/prefix]get[text]] }}}\nsuffix={{{ [[$(snippetTitle)$]addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" />\n\n</$transclude>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
},
"$:/core/ui/EditorToolbar/stamp": {
"title": "$:/core/ui/EditorToolbar/stamp",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/stamp",
"caption": "{{$:/language/Buttons/Stamp/Caption}}",
"description": "{{$:/language/Buttons/Stamp/Hint}}",
"condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]",
"shortcuts": "((stamp))",
"dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/strikethrough": {
"title": "$:/core/ui/EditorToolbar/strikethrough",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/strikethrough",
"caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
"description": "{{$:/language/Buttons/Strikethrough/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((strikethrough))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
},
"$:/core/ui/EditorToolbar/subscript": {
"title": "$:/core/ui/EditorToolbar/subscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/subscript",
"caption": "{{$:/language/Buttons/Subscript/Caption}}",
"description": "{{$:/language/Buttons/Subscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((subscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
},
"$:/core/ui/EditorToolbar/superscript": {
"title": "$:/core/ui/EditorToolbar/superscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/superscript",
"caption": "{{$:/language/Buttons/Superscript/Caption}}",
"description": "{{$:/language/Buttons/Superscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((superscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
},
"$:/core/ui/EditorToolbar/transcludify": {
"title": "$:/core/ui/EditorToolbar/transcludify",
"caption": "{{$:/language/Buttons/Transcludify/Caption}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Buttons/Transcludify/Hint}}",
"icon": "$:/core/images/transcludify",
"list-before": "$:/core/ui/EditorToolbar/mono-block",
"shortcuts": "((transcludify))",
"tags": "$:/tags/EditorToolbar",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n"
},
"$:/core/ui/EditorToolbar/underline": {
"title": "$:/core/ui/EditorToolbar/underline",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/underline",
"caption": "{{$:/language/Buttons/Underline/Caption}}",
"description": "{{$:/language/Buttons/Underline/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((underline))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
},
"$:/core/Filters/AllTags": {
"title": "$:/core/Filters/AllTags",
"tags": "$:/tags/Filter",
"filter": "[tags[]!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTags}}",
"text": ""
},
"$:/core/Filters/AllTiddlers": {
"title": "$:/core/Filters/AllTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTiddlers}}",
"text": ""
},
"$:/core/Filters/Drafts": {
"title": "$:/core/Filters/Drafts",
"tags": "$:/tags/Filter",
"filter": "[has[draft.of]sort[title]]",
"description": "{{$:/language/Filters/Drafts}}",
"text": ""
},
"$:/core/Filters/Missing": {
"title": "$:/core/Filters/Missing",
"tags": "$:/tags/Filter",
"filter": "[all[missing]sort[title]]",
"description": "{{$:/language/Filters/Missing}}",
"text": ""
},
"$:/core/Filters/Orphans": {
"title": "$:/core/Filters/Orphans",
"tags": "$:/tags/Filter",
"filter": "[all[orphans]sort[title]]",
"description": "{{$:/language/Filters/Orphans}}",
"text": ""
},
"$:/core/Filters/OverriddenShadowTiddlers": {
"title": "$:/core/Filters/OverriddenShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[shadow]]",
"description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentSystemTiddlers": {
"title": "$:/core/Filters/RecentSystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentSystemTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentTiddlers": {
"title": "$:/core/Filters/RecentTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentTiddlers}}",
"text": ""
},
"$:/core/Filters/SessionTiddlers": {
"title": "$:/core/Filters/SessionTiddlers",
"tags": "$:/tags/Filter",
"filter": "[haschanged[]]",
"description": "{{$:/language/Filters/SessionTiddlers}}",
"text": ""
},
"$:/core/Filters/ShadowTiddlers": {
"title": "$:/core/Filters/ShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[all[shadows]sort[title]]",
"description": "{{$:/language/Filters/ShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/StoryList": {
"title": "$:/core/Filters/StoryList",
"tags": "$:/tags/Filter",
"filter": "[list[$:/StoryList]] -$:/AdvancedSearch",
"description": "{{$:/language/Filters/StoryList}}",
"text": ""
},
"$:/core/Filters/SystemTags": {
"title": "$:/core/Filters/SystemTags",
"tags": "$:/tags/Filter",
"filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTags}}",
"text": ""
},
"$:/core/Filters/SystemTiddlers": {
"title": "$:/core/Filters/SystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTiddlers}}",
"text": ""
},
"$:/core/Filters/TypedTiddlers": {
"title": "$:/core/Filters/TypedTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Filters/TypedTiddlers}}",
"text": ""
},
"$:/core/ui/ImportListing": {
"title": "$:/core/ui/ImportListing",
"text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table>\n<tbody>\n<tr>\n<th>\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" stateTitle=<<previewPopupState>> tag=\"div\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n<$transclude tiddler={{$:/state/importpreviewtype}}/>\n</$list>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ImportPreviews/Diff": {
"title": "$:/core/ui/ImportPreviews/Diff",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/Diff}}",
"text": "<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"
},
"$:/core/ui/ImportPreviews/DiffFields": {
"title": "$:/core/ui/ImportPreviews/DiffFields",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/DiffFields}}",
"text": "<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"
},
"$:/core/ui/ImportPreviews/Fields": {
"title": "$:/core/ui/ImportPreviews/Fields",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/Fields}}",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ImportPreviews/Text": {
"title": "$:/core/ui/ImportPreviews/Text",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/Text}}",
"text": "<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"
},
"$:/core/ui/ImportPreviews/TextRaw": {
"title": "$:/core/ui/ImportPreviews/TextRaw",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/TextRaw}}",
"text": "<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"
},
"$:/core/ui/KeyboardShortcuts/advanced-search": {
"title": "$:/core/ui/KeyboardShortcuts/advanced-search",
"tags": "$:/tags/KeyboardShortcut",
"key": "((advanced-search))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\"/>\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/new-image": {
"title": "$:/core/ui/KeyboardShortcuts/new-image",
"tags": "$:/tags/KeyboardShortcut",
"key": "((new-image))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/new-journal": {
"title": "$:/core/ui/KeyboardShortcuts/new-journal",
"tags": "$:/tags/KeyboardShortcut",
"key": "((new-journal))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/new-tiddler": {
"title": "$:/core/ui/KeyboardShortcuts/new-tiddler",
"tags": "$:/tags/KeyboardShortcut",
"key": "((new-tiddler))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/sidebar-search": {
"title": "$:/core/ui/KeyboardShortcuts/sidebar-search",
"tags": "$:/tags/KeyboardShortcut",
"key": "((sidebar-search))",
"text": "<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"
},
"$:/core/ui/KeyboardShortcut/toggle-sidebar": {
"title": "$:/core/ui/KeyboardShortcut/toggle-sidebar",
"tags": "$:/tags/KeyboardShortcut",
"key": "((toggle-sidebar))",
"text": "<$list filter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\" emptyMessage=\"\"\"\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"yes\"/>\n\"\"\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"
},
"$:/core/ui/ListItemTemplate": {
"title": "$:/core/ui/ListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link />\n</div>"
},
"$:/Manager/ItemMain/Fields": {
"title": "$:/Manager/ItemMain/Fields",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/Fields}}",
"text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/Manager/ItemMain/RawText": {
"title": "$:/Manager/ItemMain/RawText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/RawText}}",
"text": "<pre><code><$view/></code></pre>\n"
},
"$:/Manager/ItemMain/WikifiedText": {
"title": "$:/Manager/ItemMain/WikifiedText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/WikifiedText}}",
"text": "<$transclude mode=\"block\"/>\n"
},
"$:/Manager/ItemSidebar/Colour": {
"title": "$:/Manager/ItemSidebar/Colour",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Colour}}",
"text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Icon": {
"title": "$:/Manager/ItemSidebar/Icon",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Icon}}",
"text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tags": {
"title": "$:/Manager/ItemSidebar/Tags",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tags}}",
"text": "\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tools": {
"title": "$:/Manager/ItemSidebar/Tools",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tools}}",
"text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"
},
"$:/Manager": {
"title": "$:/Manager",
"icon": "$:/core/images/list",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
},
"$:/core/ui/MissingTemplate": {
"title": "$:/core/ui/MissingTemplate",
"text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
},
"$:/core/ui/MoreSideBar/All": {
"title": "$:/core/ui/MoreSideBar/All",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/All/Caption}}",
"text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Drafts": {
"title": "$:/core/ui/MoreSideBar/Drafts",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Drafts/Caption}}",
"text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Explorer": {
"title": "$:/core/ui/MoreSideBar/Explorer",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Explorer/Caption}}",
"text": "<<tree \"$:/\">>\n"
},
"$:/core/ui/MoreSideBar/Missing": {
"title": "$:/core/ui/MoreSideBar/Missing",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Missing/Caption}}",
"text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Orphans": {
"title": "$:/core/ui/MoreSideBar/Orphans",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Orphans/Caption}}",
"text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Plugins/Plugins\">>\n"
},
"$:/core/ui/MoreSideBar/Recent": {
"title": "$:/core/ui/MoreSideBar/Recent",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/MoreSideBar/Shadows": {
"title": "$:/core/ui/MoreSideBar/Shadows",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Shadows/Caption}}",
"text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/System": {
"title": "$:/core/ui/MoreSideBar/System",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/System/Caption}}",
"text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Tags": {
"title": "$:/core/ui/MoreSideBar/Tags",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Tags/Caption}}",
"text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
},
"$:/core/ui/MoreSideBar/Types": {
"title": "$:/core/ui/MoreSideBar/Types",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Types/Caption}}",
"text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Languages": {
"title": "$:/core/ui/MoreSideBar/Plugins/Languages",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins/Plugins",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Theme": {
"title": "$:/core/ui/MoreSideBar/Plugins/Theme",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/Buttons/advanced-search": {
"title": "$:/core/ui/Buttons/advanced-search",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
"description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
"text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/close-all": {
"title": "$:/core/ui/Buttons/close-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
"description": "{{$:/language/Buttons/CloseAll/Hint}}",
"text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/control-panel": {
"title": "$:/core/ui/Buttons/control-panel",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
"description": "{{$:/language/Buttons/ControlPanel/Hint}}",
"text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/encryption": {
"title": "$:/core/ui/Buttons/encryption",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
"description": "{{$:/language/Buttons/Encryption/Hint}}",
"text": "\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"
},
"$:/core/ui/Buttons/export-page": {
"title": "$:/core/ui/Buttons/export-page",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
"description": "{{$:/language/Buttons/ExportPage/Hint}}",
"text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
},
"$:/core/ui/Buttons/fold-all": {
"title": "$:/core/ui/Buttons/fold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
"description": "{{$:/language/Buttons/FoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/full-screen": {
"title": "$:/core/ui/Buttons/full-screen",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
"description": "{{$:/language/Buttons/FullScreen/Hint}}",
"text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/home": {
"title": "$:/core/ui/Buttons/home",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
"description": "{{$:/language/Buttons/Home/Hint}}",
"text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/import": {
"title": "$:/core/ui/Buttons/import",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
"description": "{{$:/language/Buttons/Import/Hint}}",
"text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
},
"$:/core/ui/Buttons/language": {
"title": "$:/core/ui/Buttons/language",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
"description": "{{$:/language/Buttons/Language/Hint}}",
"text": "\\whitespace trim\n\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/manager": {
"title": "$:/core/ui/Buttons/manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}",
"description": "{{$:/language/Buttons/Manager/Hint}}",
"text": "\\whitespace trim\n\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/more-page-actions": {
"title": "$:/core/ui/Buttons/more-page-actions",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-image": {
"title": "$:/core/ui/Buttons/new-image",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
"description": "{{$:/language/Buttons/NewImage/Hint}}",
"text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/new-journal": {
"title": "$:/core/ui/Buttons/new-journal",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
"description": "{{$:/language/Buttons/NewJournal/Hint}}",
"text": "\\whitespace trim\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n"
},
"$:/core/ui/Buttons/new-tiddler": {
"title": "$:/core/ui/Buttons/new-tiddler",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"text": "\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/palette": {
"title": "$:/core/ui/Buttons/palette",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
"description": "{{$:/language/Buttons/Palette/Hint}}",
"text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/print": {
"title": "$:/core/ui/Buttons/print",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}",
"description": "{{$:/language/Buttons/Print/Hint}}",
"text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/refresh": {
"title": "$:/core/ui/Buttons/refresh",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
"description": "{{$:/language/Buttons/Refresh/Hint}}",
"text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save-wiki": {
"title": "$:/core/ui/Buttons/save-wiki",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
"description": "{{$:/language/Buttons/SaveWiki/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
},
"$:/core/ui/Buttons/storyview": {
"title": "$:/core/ui/Buttons/storyview",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
"description": "{{$:/language/Buttons/StoryView/Hint}}",
"text": "\\whitespace trim\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/tag-manager": {
"title": "$:/core/ui/Buttons/tag-manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
"description": "{{$:/language/Buttons/TagManager/Hint}}",
"text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/theme": {
"title": "$:/core/ui/Buttons/theme",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
"description": "{{$:/language/Buttons/Theme/Hint}}",
"text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/timestamp": {
"title": "$:/core/ui/Buttons/timestamp",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}",
"description": "{{$:/language/Buttons/Timestamp/Hint}}",
"text": "\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"
},
"$:/core/ui/Buttons/unfold-all": {
"title": "$:/core/ui/Buttons/unfold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
"description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/PageTemplate/pagecontrols": {
"title": "$:/core/ui/PageTemplate/pagecontrols",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n</div>\n"
},
"$:/core/ui/PageStylesheet": {
"title": "$:/core/ui/PageStylesheet",
"text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/PageTemplate/alerts": {
"title": "$:/core/ui/PageTemplate/alerts",
"tags": "$:/tags/PageTemplate",
"text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
},
"$:/core/ui/PageTemplate/drafts": {
"title": "$:/core/ui/PageTemplate/drafts",
"tags": "$:/tags/PageTemplate",
"text": "\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"
},
"$:/core/ui/PageTemplate/pluginreloadwarning": {
"title": "$:/core/ui/PageTemplate/pluginreloadwarning",
"tags": "$:/tags/PageTemplate",
"text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/PageTemplate/sidebar": {
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\" tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "\\whitespace trim\n<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate": {
"title": "$:/core/ui/PageTemplate",
"text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-enable-drag-and-drop\" value={{$:/config/DragAndDrop/Enable}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/PaletteManager": {
"title": "$:/PaletteManager",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}} <$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}} <$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip=<<lingo Delete/Hint>> aria-label=<<lingo Delete/Hint>> class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" variable=\"colourName\">\n<$list filter=\"[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]\" variable=\"ignore\">\n<<palette-manager-colour-row>>\n</$list>\n\"\"\">\n<<palette-manager-colour-row>>\n</$list>\n</$list>\n</tbody>\n</table>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\"> <<lingo Names/External/Show>></$checkbox>\n\n<<palette-manager-table>>\n"
},
"$:/core/ui/PluginInfo": {
"title": "$:/core/ui/PluginInfo",
"text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
},
"$:/core/ui/PluginInfo/Default/contents": {
"title": "$:/core/ui/PluginInfo/Default/contents",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n"
},
"$:/core/ui/PluginListItemTemplate": {
"title": "$:/core/ui/PluginListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}><$view field=\"description\"><$view field=\"title\"/></$view></$link>\n</div>"
},
"$:/core/ui/SearchResults": {
"title": "$:/core/ui/SearchResults",
"text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
},
"$:/core/ui/SideBar/More": {
"title": "$:/core/ui/SideBar/More",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/More/Caption}}",
"text": "<div class=\"tc-more-sidebar\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class=\"tc-vertical tc-sidebar-tabs-more\" />\n</div>"
},
"$:/core/ui/SideBar/Open": {
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Open/Caption}}",
"text": "\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">{{$:/core/images/close-button}}</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"
},
"$:/core/ui/SideBar/Recent": {
"title": "$:/core/ui/SideBar/Recent",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/SideBar/Tools": {
"title": "$:/core/ui/SideBar/Tools",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"
},
"$:/core/ui/SideBarSegments/page-controls": {
"title": "$:/core/ui/SideBarSegments/page-controls",
"tags": "$:/tags/SideBarSegment",
"text": "{{||$:/core/ui/PageTemplate/pagecontrols}}\n"
},
"$:/core/ui/SideBarSegments/search": {
"title": "$:/core/ui/SideBarSegments/search",
"tags": "$:/tags/SideBarSegment",
"text": "\\whitespace trim\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"searchTerm\" value={{{ [<searchTiddler>get[text]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search<searchTerm>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n</div>\n"
},
"$:/core/ui/SideBarSegments/site-subtitle": {
"title": "$:/core/ui/SideBarSegments/site-subtitle",
"tags": "$:/tags/SideBarSegment",
"text": "<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"
},
"$:/core/ui/SideBarSegments/site-title": {
"title": "$:/core/ui/SideBarSegments/site-title",
"tags": "$:/tags/SideBarSegment",
"text": "<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"
},
"$:/core/ui/SideBarSegments/tabs": {
"title": "$:/core/ui/SideBarSegments/tabs",
"tags": "$:/tags/SideBarSegment",
"text": "<div class=\"tc-sidebar-lists tc-sidebar-tabs\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\"/>\n\n</div>\n"
},
"$:/TagManager": {
"title": "$:/TagManager",
"icon": "$:/core/images/tag-button",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td>{{||$:/core/ui/TagTemplate}}</td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td style=\"position:relative;\">\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
},
"$:/core/ui/TagTemplate": {
"title": "$:/core/ui/TagTemplate",
"text": "\\whitespace trim\n<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"
},
"$:/core/ui/TiddlerFieldTemplate": {
"title": "$:/core/ui/TiddlerFieldTemplate",
"text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
},
"$:/core/ui/TiddlerFields": {
"title": "$:/core/ui/TiddlerFields",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
},
"$:/core/ui/TiddlerInfo/Advanced": {
"title": "$:/core/ui/TiddlerInfo/Advanced",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Fields": {
"title": "$:/core/ui/TiddlerInfo/Fields",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
"text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
},
"$:/core/ui/TiddlerInfo/List": {
"title": "$:/core/ui/TiddlerInfo/List",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/List/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Listed": {
"title": "$:/core/ui/TiddlerInfo/Listed",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"
},
"$:/core/ui/TiddlerInfo/Tagging": {
"title": "$:/core/ui/TiddlerInfo/Tagging",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Tools": {
"title": "$:/core/ui/TiddlerInfo/Tools",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/TiddlerInfo": {
"title": "$:/core/ui/TiddlerInfo",
"text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
},
"$:/core/ui/TopBar/menu": {
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar",
"text": "<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n"
},
"$:/core/ui/UntaggedTemplate": {
"title": "$:/core/ui/UntaggedTemplate",
"text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/classic": {
"title": "$:/core/ui/ViewTemplate/classic",
"tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/import": {
"title": "$:/core/ui/ViewTemplate/import",
"tags": "$:/tags/ViewTemplate",
"text": "\\define lingo-base() $:/language/Import/\n\n\\define buttons()\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/plugin": {
"title": "$:/core/ui/ViewTemplate/plugin",
"tags": "$:/tags/ViewTemplate",
"text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/subtitle": {
"title": "$:/core/ui/ViewTemplate/subtitle",
"tags": "$:/tags/ViewTemplate",
"text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}} />\n<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/tags": {
"title": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/title": {
"title": "$:/core/ui/ViewTemplate/title",
"tags": "$:/tags/ViewTemplate",
"text": "\\whitespace trim\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}>\n<$transclude tiddler={{$:/config/DefaultTiddlerIcon}}/>\n</$transclude>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"/></$list>\n\n</$reveal>\n</div>"
},
"$:/core/ui/ViewTemplate/unfold": {
"title": "$:/core/ui/ViewTemplate/unfold",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate": {
"title": "$:/core/ui/ViewTemplate",
"text": "\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$vars>\n"
},
"$:/core/ui/Buttons/clone": {
"title": "$:/core/ui/Buttons/clone",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
"description": "{{$:/language/Buttons/Clone/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-others": {
"title": "$:/core/ui/Buttons/close-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
"description": "{{$:/language/Buttons/CloseOthers/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close": {
"title": "$:/core/ui/Buttons/close",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
"description": "{{$:/language/Buttons/Close/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/edit": {
"title": "$:/core/ui/Buttons/edit",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
"description": "{{$:/language/Buttons/Edit/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/export-tiddler": {
"title": "$:/core/ui/Buttons/export-tiddler",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
"description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
"text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
},
"$:/core/ui/Buttons/fold-bar": {
"title": "$:/core/ui/Buttons/fold-bar",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}",
"description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
"text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
},
"$:/core/ui/Buttons/fold-others": {
"title": "$:/core/ui/Buttons/fold-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
"description": "{{$:/language/Buttons/FoldOthers/Hint}}",
"text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/fold": {
"title": "$:/core/ui/Buttons/fold",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
"description": "{{$:/language/Buttons/Fold/Hint}}",
"text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"
},
"$:/core/ui/Buttons/info": {
"title": "$:/core/ui/Buttons/info",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
"description": "{{$:/language/Buttons/Info/Hint}}",
"text": "\\whitespace trim\n\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
},
"$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/core/ui/Buttons/more-tiddler-actions",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-here": {
"title": "$:/core/ui/Buttons/new-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
"description": "{{$:/language/Buttons/NewHere/Hint}}",
"text": "\\whitespace trim\n\\define newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>] [{$:/config/NewTiddler/Tags!!tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>\n"
},
"$:/core/ui/Buttons/new-journal-here": {
"title": "$:/core/ui/Buttons/new-journal-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
"description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
"text": "\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags!!tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>\n"
},
"$:/core/ui/Buttons/open-window": {
"title": "$:/core/ui/Buttons/open-window",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
"description": "{{$:/language/Buttons/OpenWindow/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permalink": {
"title": "$:/core/ui/Buttons/permalink",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
"description": "{{$:/language/Buttons/Permalink/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permaview": {
"title": "$:/core/ui/Buttons/permaview",
"tags": "$:/tags/ViewToolbar $:/tags/PageControls",
"caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
"description": "{{$:/language/Buttons/Permaview/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/DefaultTiddlers": {
"title": "$:/DefaultTiddlers",
"text": "GettingStarted\n"
},
"$:/temp/advancedsearch": {
"title": "$:/temp/advancedsearch",
"text": ""
},
"$:/snippets/allfields": {
"title": "$:/snippets/allfields",
"text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
},
"$:/config/AnimationDuration": {
"title": "$:/config/AnimationDuration",
"text": "400"
},
"$:/config/AutoFocus": {
"title": "$:/config/AutoFocus",
"text": "title"
},
"$:/config/AutoSave": {
"title": "$:/config/AutoSave",
"text": "yes"
},
"$:/config/BitmapEditor/Colour": {
"title": "$:/config/BitmapEditor/Colour",
"text": "#444"
},
"$:/config/BitmapEditor/ImageSizes": {
"title": "$:/config/BitmapEditor/ImageSizes",
"text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
},
"$:/config/BitmapEditor/LineWidth": {
"title": "$:/config/BitmapEditor/LineWidth",
"text": "3px"
},
"$:/config/BitmapEditor/LineWidths": {
"title": "$:/config/BitmapEditor/LineWidths",
"text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
},
"$:/config/BitmapEditor/Opacities": {
"title": "$:/config/BitmapEditor/Opacities",
"text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
},
"$:/config/BitmapEditor/Opacity": {
"title": "$:/config/BitmapEditor/Opacity",
"text": "1.0"
},
"$:/config/DefaultMoreSidebarTab": {
"title": "$:/config/DefaultMoreSidebarTab",
"text": "$:/core/ui/MoreSideBar/Tags"
},
"$:/config/DefaultSidebarTab": {
"title": "$:/config/DefaultSidebarTab",
"text": "$:/core/ui/SideBar/Open"
},
"$:/config/DownloadSaver/AutoSave": {
"title": "$:/config/DownloadSaver/AutoSave",
"text": "no"
},
"$:/config/Drafts/TypingTimeout": {
"title": "$:/config/Drafts/TypingTimeout",
"text": "400"
},
"$:/config/EditTemplateFields/Visibility/title": {
"title": "$:/config/EditTemplateFields/Visibility/title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/tags": {
"title": "$:/config/EditTemplateFields/Visibility/tags",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/text": {
"title": "$:/config/EditTemplateFields/Visibility/text",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/creator": {
"title": "$:/config/EditTemplateFields/Visibility/creator",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/created": {
"title": "$:/config/EditTemplateFields/Visibility/created",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modified": {
"title": "$:/config/EditTemplateFields/Visibility/modified",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modifier": {
"title": "$:/config/EditTemplateFields/Visibility/modifier",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/type": {
"title": "$:/config/EditTemplateFields/Visibility/type",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.title": {
"title": "$:/config/EditTemplateFields/Visibility/draft.title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.of": {
"title": "$:/config/EditTemplateFields/Visibility/draft.of",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/revision": {
"title": "$:/config/EditTemplateFields/Visibility/revision",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/bag": {
"title": "$:/config/EditTemplateFields/Visibility/bag",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
"text": "hide"
},
"$:/config/EditorTypeMappings/image/gif": {
"title": "$:/config/EditorTypeMappings/image/gif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/webp": {
"title": "$:/config/EditorTypeMappings/image/webp",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/heic": {
"title": "$:/config/EditorTypeMappings/image/heic",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/heif": {
"title": "$:/config/EditorTypeMappings/image/heif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpeg": {
"title": "$:/config/EditorTypeMappings/image/jpeg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpg": {
"title": "$:/config/EditorTypeMappings/image/jpg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/png": {
"title": "$:/config/EditorTypeMappings/image/png",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/x-icon": {
"title": "$:/config/EditorTypeMappings/image/x-icon",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "text"
},
"$:/config/Manager/Show": {
"title": "$:/config/Manager/Show",
"text": "tiddlers"
},
"$:/config/Manager/Filter": {
"title": "$:/config/Manager/Filter",
"text": ""
},
"$:/config/Manager/Order": {
"title": "$:/config/Manager/Order",
"text": "forward"
},
"$:/config/Manager/Sort": {
"title": "$:/config/Manager/Sort",
"text": "title"
},
"$:/config/Manager/System": {
"title": "$:/config/Manager/System",
"text": "system"
},
"$:/config/Manager/Tag": {
"title": "$:/config/Manager/Tag",
"text": ""
},
"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": {
"title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText",
"text": "hide"
},
"$:/config/MissingLinks": {
"title": "$:/config/MissingLinks",
"text": "yes"
},
"$:/config/Navigation/UpdateAddressBar": {
"title": "$:/config/Navigation/UpdateAddressBar",
"text": "no"
},
"$:/config/Navigation/UpdateHistory": {
"title": "$:/config/Navigation/UpdateHistory",
"text": "no"
},
"$:/config/NewImageType": {
"title": "$:/config/NewImageType",
"text": "jpeg"
},
"$:/config/OfficialPluginLibrary": {
"title": "$:/config/OfficialPluginLibrary",
"tags": "$:/tags/PluginLibrary",
"url": "https://tiddlywiki.com/library/v5.1.22/index.html",
"caption": "{{$:/language/OfficialPluginLibrary}}",
"text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
},
"$:/config/Navigation/openLinkFromInsideRiver": {
"title": "$:/config/Navigation/openLinkFromInsideRiver",
"text": "below"
},
"$:/config/Navigation/openLinkFromOutsideRiver": {
"title": "$:/config/Navigation/openLinkFromOutsideRiver",
"text": "top"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
"text": "hide"
},
"$:/config/Performance/Instrumentation": {
"title": "$:/config/Performance/Instrumentation",
"text": "no"
},
"$:/config/RegisterPluginType/plugin": {
"title": "$:/config/RegisterPluginType/plugin",
"text": "yes"
},
"$:/config/RegisterPluginType/theme": {
"title": "$:/config/RegisterPluginType/theme",
"text": "no"
},
"$:/config/RegisterPluginType/language": {
"title": "$:/config/RegisterPluginType/language",
"text": "no"
},
"$:/config/RegisterPluginType/info": {
"title": "$:/config/RegisterPluginType/info",
"text": "no"
},
"$:/config/RegisterPluginType/import": {
"title": "$:/config/RegisterPluginType/import",
"text": "no"
},
"$:/config/SaveWikiButton/Template": {
"title": "$:/config/SaveWikiButton/Template",
"text": "$:/core/save/all"
},
"$:/config/SaverFilter": {
"title": "$:/config/SaverFilter",
"text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/Search/AutoFocus": {
"title": "$:/config/Search/AutoFocus",
"text": "true"
},
"$:/config/Search/MinLength": {
"title": "$:/config/Search/MinLength",
"text": "3"
},
"$:/config/SearchResults/Default": {
"title": "$:/config/SearchResults/Default",
"text": "$:/core/ui/DefaultSearchResultList"
},
"$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]": {
"title": "$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]",
"text": "yes"
},
"$:/config/ShortcutInfo/add-field": {
"title": "$:/config/ShortcutInfo/add-field",
"text": "{{$:/language/EditTemplate/Fields/Add/Button/Hint}}"
},
"$:/config/ShortcutInfo/advanced-search": {
"title": "$:/config/ShortcutInfo/advanced-search",
"text": "{{$:/language/Buttons/AdvancedSearch/Hint}}"
},
"$:/config/ShortcutInfo/bold": {
"title": "$:/config/ShortcutInfo/bold",
"text": "{{$:/language/Buttons/Bold/Hint}}"
},
"$:/config/ShortcutInfo/cancel-edit-tiddler": {
"title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
"text": "{{$:/language/Buttons/Cancel/Hint}}"
},
"$:/config/ShortcutInfo/excise": {
"title": "$:/config/ShortcutInfo/excise",
"text": "{{$:/language/Buttons/Excise/Hint}}"
},
"$:/config/ShortcutInfo/heading-1": {
"title": "$:/config/ShortcutInfo/heading-1",
"text": "{{$:/language/Buttons/Heading1/Hint}}"
},
"$:/config/ShortcutInfo/heading-2": {
"title": "$:/config/ShortcutInfo/heading-2",
"text": "{{$:/language/Buttons/Heading2/Hint}}"
},
"$:/config/ShortcutInfo/heading-3": {
"title": "$:/config/ShortcutInfo/heading-3",
"text": "{{$:/language/Buttons/Heading3/Hint}}"
},
"$:/config/ShortcutInfo/heading-4": {
"title": "$:/config/ShortcutInfo/heading-4",
"text": "{{$:/language/Buttons/Heading4/Hint}}"
},
"$:/config/ShortcutInfo/heading-5": {
"title": "$:/config/ShortcutInfo/heading-5",
"text": "{{$:/language/Buttons/Heading5/Hint}}"
},
"$:/config/ShortcutInfo/heading-6": {
"title": "$:/config/ShortcutInfo/heading-6",
"text": "{{$:/language/Buttons/Heading6/Hint}}"
},
"$:/config/ShortcutInfo/italic": {
"title": "$:/config/ShortcutInfo/italic",
"text": "{{$:/language/Buttons/Italic/Hint}}"
},
"$:/config/ShortcutInfo/link": {
"title": "$:/config/ShortcutInfo/link",
"text": "{{$:/language/Buttons/Link/Hint}}"
},
"$:/config/ShortcutInfo/list-bullet": {
"title": "$:/config/ShortcutInfo/list-bullet",
"text": "{{$:/language/Buttons/ListBullet/Hint}}"
},
"$:/config/ShortcutInfo/list-number": {
"title": "$:/config/ShortcutInfo/list-number",
"text": "{{$:/language/Buttons/ListNumber/Hint}}"
},
"$:/config/ShortcutInfo/mono-block": {
"title": "$:/config/ShortcutInfo/mono-block",
"text": "{{$:/language/Buttons/MonoBlock/Hint}}"
},
"$:/config/ShortcutInfo/mono-line": {
"title": "$:/config/ShortcutInfo/mono-line",
"text": "{{$:/language/Buttons/MonoLine/Hint}}"
},
"$:/config/ShortcutInfo/new-image": {
"title": "$:/config/ShortcutInfo/new-image",
"text": "{{$:/language/Buttons/NewImage/Hint}}"
},
"$:/config/ShortcutInfo/new-journal": {
"title": "$:/config/ShortcutInfo/new-journal",
"text": "{{$:/language/Buttons/NewJournal/Hint}}"
},
"$:/config/ShortcutInfo/new-tiddler": {
"title": "$:/config/ShortcutInfo/new-tiddler",
"text": "{{$:/language/Buttons/NewTiddler/Hint}}"
},
"$:/config/ShortcutInfo/picture": {
"title": "$:/config/ShortcutInfo/picture",
"text": "{{$:/language/Buttons/Picture/Hint}}"
},
"$:/config/ShortcutInfo/preview": {
"title": "$:/config/ShortcutInfo/preview",
"text": "{{$:/language/Buttons/Preview/Hint}}"
},
"$:/config/ShortcutInfo/quote": {
"title": "$:/config/ShortcutInfo/quote",
"text": "{{$:/language/Buttons/Quote/Hint}}"
},
"$:/config/ShortcutInfo/save-tiddler": {
"title": "$:/config/ShortcutInfo/save-tiddler",
"text": "{{$:/language/Buttons/Save/Hint}}"
},
"$:/config/ShortcutInfo/sidebar-search": {
"title": "$:/config/ShortcutInfo/sidebar-search",
"text": "{{$:/language/Buttons/SidebarSearch/Hint}}"
},
"$:/config/ShortcutInfo/stamp": {
"title": "$:/config/ShortcutInfo/stamp",
"text": "{{$:/language/Buttons/Stamp/Hint}}"
},
"$:/config/ShortcutInfo/strikethrough": {
"title": "$:/config/ShortcutInfo/strikethrough",
"text": "{{$:/language/Buttons/Strikethrough/Hint}}"
},
"$:/config/ShortcutInfo/subscript": {
"title": "$:/config/ShortcutInfo/subscript",
"text": "{{$:/language/Buttons/Subscript/Hint}}"
},
"$:/config/ShortcutInfo/superscript": {
"title": "$:/config/ShortcutInfo/superscript",
"text": "{{$:/language/Buttons/Superscript/Hint}}"
},
"$:/config/ShortcutInfo/toggle-sidebar": {
"title": "$:/config/ShortcutInfo/toggle-sidebar",
"text": "{{$:/language/Buttons/ToggleSidebar/Hint}}"
},
"$:/config/ShortcutInfo/underline": {
"title": "$:/config/ShortcutInfo/underline",
"text": "{{$:/language/Buttons/Underline/Hint}}"
},
"$:/config/SyncFilter": {
"title": "$:/config/SyncFilter",
"text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/Tags/MinLength": {
"title": "$:/config/Tags/MinLength",
"text": "0"
},
"$:/config/TextEditor/EditorHeight/Height": {
"title": "$:/config/TextEditor/EditorHeight/Height",
"text": "400px"
},
"$:/config/TextEditor/EditorHeight/Mode": {
"title": "$:/config/TextEditor/EditorHeight/Mode",
"text": "auto"
},
"$:/config/TiddlerInfo/Default": {
"title": "$:/config/TiddlerInfo/Default",
"text": "$:/core/ui/TiddlerInfo/Fields"
},
"$:/config/TiddlerInfo/Mode": {
"title": "$:/config/TiddlerInfo/Mode",
"text": "popup"
},
"$:/config/Tiddlers/TitleLinks": {
"title": "$:/config/Tiddlers/TitleLinks",
"text": "no"
},
"$:/config/Toolbar/ButtonClass": {
"title": "$:/config/Toolbar/ButtonClass",
"text": "tc-btn-invisible"
},
"$:/config/Toolbar/Icons": {
"title": "$:/config/Toolbar/Icons",
"text": "yes"
},
"$:/config/Toolbar/Text": {
"title": "$:/config/Toolbar/Text",
"text": "no"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
"text": "show"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
"text": "hide"
},
"$:/config/shortcuts-mac/bold": {
"title": "$:/config/shortcuts-mac/bold",
"text": "meta-B"
},
"$:/config/shortcuts-mac/italic": {
"title": "$:/config/shortcuts-mac/italic",
"text": "meta-I"
},
"$:/config/shortcuts-mac/underline": {
"title": "$:/config/shortcuts-mac/underline",
"text": "meta-U"
},
"$:/config/shortcuts-mac/new-image": {
"title": "$:/config/shortcuts-mac/new-image",
"text": "ctrl-I"
},
"$:/config/shortcuts-mac/new-journal": {
"title": "$:/config/shortcuts-mac/new-journal",
"text": "ctrl-J"
},
"$:/config/shortcuts-mac/new-tiddler": {
"title": "$:/config/shortcuts-mac/new-tiddler",
"text": "ctrl-N"
},
"$:/config/shortcuts-not-mac/bold": {
"title": "$:/config/shortcuts-not-mac/bold",
"text": "ctrl-B"
},
"$:/config/shortcuts-not-mac/italic": {
"title": "$:/config/shortcuts-not-mac/italic",
"text": "ctrl-I"
},
"$:/config/shortcuts-not-mac/underline": {
"title": "$:/config/shortcuts-not-mac/underline",
"text": "ctrl-U"
},
"$:/config/shortcuts-not-mac/new-image": {
"title": "$:/config/shortcuts-not-mac/new-image",
"text": "alt-I"
},
"$:/config/shortcuts-not-mac/new-journal": {
"title": "$:/config/shortcuts-not-mac/new-journal",
"text": "alt-J"
},
"$:/config/shortcuts-not-mac/new-tiddler": {
"title": "$:/config/shortcuts-not-mac/new-tiddler",
"text": "alt-N"
},
"$:/config/shortcuts/add-field": {
"title": "$:/config/shortcuts/add-field",
"text": "enter"
},
"$:/config/shortcuts/advanced-search": {
"title": "$:/config/shortcuts/advanced-search",
"text": "ctrl-shift-A"
},
"$:/config/shortcuts/cancel-edit-tiddler": {
"title": "$:/config/shortcuts/cancel-edit-tiddler",
"text": "escape"
},
"$:/config/shortcuts/excise": {
"title": "$:/config/shortcuts/excise",
"text": "ctrl-E"
},
"$:/config/shortcuts/sidebar-search": {
"title": "$:/config/shortcuts/sidebar-search",
"text": "ctrl-shift-F"
},
"$:/config/shortcuts/heading-1": {
"title": "$:/config/shortcuts/heading-1",
"text": "ctrl-1"
},
"$:/config/shortcuts/heading-2": {
"title": "$:/config/shortcuts/heading-2",
"text": "ctrl-2"
},
"$:/config/shortcuts/heading-3": {
"title": "$:/config/shortcuts/heading-3",
"text": "ctrl-3"
},
"$:/config/shortcuts/heading-4": {
"title": "$:/config/shortcuts/heading-4",
"text": "ctrl-4"
},
"$:/config/shortcuts/heading-5": {
"title": "$:/config/shortcuts/heading-5",
"text": "ctrl-5"
},
"$:/config/shortcuts/heading-6": {
"title": "$:/config/shortcuts/heading-6",
"text": "ctrl-6"
},
"$:/config/shortcuts/link": {
"title": "$:/config/shortcuts/link",
"text": "ctrl-L"
},
"$:/config/shortcuts/linkify": {
"title": "$:/config/shortcuts/linkify",
"text": "alt-shift-L"
},
"$:/config/shortcuts/list-bullet": {
"title": "$:/config/shortcuts/list-bullet",
"text": "ctrl-shift-L"
},
"$:/config/shortcuts/list-number": {
"title": "$:/config/shortcuts/list-number",
"text": "ctrl-shift-N"
},
"$:/config/shortcuts/mono-block": {
"title": "$:/config/shortcuts/mono-block",
"text": "ctrl-shift-M"
},
"$:/config/shortcuts/mono-line": {
"title": "$:/config/shortcuts/mono-line",
"text": "ctrl-M"
},
"$:/config/shortcuts/picture": {
"title": "$:/config/shortcuts/picture",
"text": "ctrl-shift-I"
},
"$:/config/shortcuts/preview": {
"title": "$:/config/shortcuts/preview",
"text": "alt-P"
},
"$:/config/shortcuts/quote": {
"title": "$:/config/shortcuts/quote",
"text": "ctrl-Q"
},
"$:/config/shortcuts/save-tiddler": {
"title": "$:/config/shortcuts/save-tiddler",
"text": "ctrl+enter"
},
"$:/config/shortcuts/stamp": {
"title": "$:/config/shortcuts/stamp",
"text": "ctrl-S"
},
"$:/config/shortcuts/strikethrough": {
"title": "$:/config/shortcuts/strikethrough",
"text": "ctrl-T"
},
"$:/config/shortcuts/subscript": {
"title": "$:/config/shortcuts/subscript",
"text": "ctrl-shift-B"
},
"$:/config/shortcuts/superscript": {
"title": "$:/config/shortcuts/superscript",
"text": "ctrl-shift-P"
},
"$:/config/shortcuts/toggle-sidebar": {
"title": "$:/config/shortcuts/toggle-sidebar",
"text": "alt-shift-S"
},
"$:/config/shortcuts/transcludify": {
"title": "$:/config/shortcuts/transcludify",
"text": "alt-shift-T"
},
"$:/config/ui/EditTemplate": {
"title": "$:/config/ui/EditTemplate",
"text": "$:/core/ui/EditTemplate"
},
"$:/config/ui/ViewTemplate": {
"title": "$:/config/ui/ViewTemplate",
"text": "$:/core/ui/ViewTemplate"
},
"$:/config/WikiParserRules/Inline/wikilink": {
"title": "$:/config/WikiParserRules/Inline/wikilink",
"text": "enable"
},
"$:/snippets/currpalettepreview": {
"title": "$:/snippets/currpalettepreview",
"text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch()\n<$set name=\"swatchColour\" value={{##$(colour)$}}\n><div class=\"tc-swatch\" style=<<swatchStyle>> title=<<colour>>/></$set>\n\\end\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>"
},
"$:/snippets/download-wiki-button": {
"title": "$:/snippets/download-wiki-button",
"text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
},
"$:/language": {
"title": "$:/language",
"text": "$:/languages/en-GB"
},
"$:/snippets/languageswitcher": {
"title": "$:/snippets/languageswitcher",
"text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/core/macros/CSS": {
"title": "$:/core/macros/CSS",
"tags": "$:/tags/Macro",
"text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"><$transclude tiddler=\"$:/config/DefaultColourMappings/$name$\"/></$transclude></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}} _canonical_uri={{$title$!!_canonical_uri}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\">$text$</$reveal>\n\\end\n"
},
"$:/core/macros/colour-picker": {
"title": "$:/core/macros/colour-picker",
"tags": "$:/tags/Macro",
"text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
},
"$:/core/macros/copy-to-clipboard": {
"title": "$:/core/macros/copy-to-clipboard",
"tags": "$:/tags/Macro",
"text": "\\define copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button class=<<__class__>> style=<<__style__>> message=\"tm-copy-to-clipboard\" param=<<__src__>> tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}>\n{{$:/core/images/copy-clipboard}} <$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n</$button>\n\\end\n\n\\define copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n<div style=\"position: absolute; bottom: 0; right: 0;\">\n<$macrocall $name=\"copy-to-clipboard\" src=<<__src__>> class=<<__class__>> style=<<__style__>>/>\n</div>\n</div>\n\\end\n\n"
},
"$:/core/macros/diff": {
"title": "$:/core/macros/diff",
"tags": "$:/tags/Macro",
"text": "\\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>\n<$diff-text source=<<source>> dest=<<dest>>/>\n</$set>\n</$set>\n\\end\n\n\\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n<tbody>\n<$set name=\"sourceFields\" filter=\"[<__sourceTiddlerTitle__>fields[]sort[]]\">\n<$set name=\"destFields\" filter=\"[<__destSubTiddlerTitle__>subtiddlerfields<__destTiddlerTitle__>sort[]]\">\n<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<__exclude__>] +[sort[]]\" variable=\"fieldName\">\n<tr>\n<th>\n<$text text=<<fieldName>>/> \n</th>\n<td>\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>\n<$diff-text source=<<source>> dest=<<dest>>>\n</$diff-text>\n</$set>\n</$set>\n</td>\n</tr>\n</$list>\n</$set>\n</$set>\n</tbody>\n</table>\n\\end\n"
},
"$:/core/macros/dumpvariables": {
"title": "$:/core/macros/dumpvariables",
"tags": "$:/tags/Macro",
"text": "\\define dumpvariables()\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"
},
"$:/core/macros/export": {
"title": "$:/core/macros/export",
"tags": "$:/tags/Macro",
"text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button></span><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
},
"$:/core/macros/image-picker": {
"title": "$:/core/macros/image-picker",
"created": "20170715180840889",
"modified": "20170715180914005",
"tags": "$:/tags/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"
},
"$:/core/macros/lingo": {
"title": "$:/core/macros/lingo",
"tags": "$:/tags/Macro",
"text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
},
"$:/core/macros/list": {
"title": "$:/core/macros/list",
"tags": "$:/tags/Macro",
"text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n</$type$>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"
},
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\" storyview=\"pop\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"$buttonTemplate$\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tag-picker": {
"title": "$:/core/macros/tag-picker",
"tags": "$:/tags/Macro",
"text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<tag>>/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker-inner()\n\\whitespace trim\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=<<newTagNameTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex=<<tabIndex>> focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}/>\n</$keyboard>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n<<add-tag-actions>>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$set name=\"newTagName\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$list filter=\"[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]!is[system]search:title<newTagName>sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n<hr>\n<$list filter=\"[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]is[system]search:title<newTagName>sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n</$set>\n</div>\n</$reveal>\n</div>\n\\end\n\\define tag-picker()\n\\whitespace trim\n<$list filter=\"[<newTagNameTiddler>match[]]\" emptyMessage=<<tag-picker-inner>>>\n<$set name=\"newTagNameTiddler\" value=<<qualify \"$:/temp/NewTagName\">>>\n<<tag-picker-inner>>\n</$set>\n</$list>\n\\end\n"
},
"$:/core/macros/tag": {
"title": "$:/core/macros/tag",
"tags": "$:/tags/Macro",
"text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<__tag__>get[icon]] }}} colour={{{ [<__tag__>get[color]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
},
"$:/core/macros/thumbnails": {
"title": "$:/core/macros/thumbnails",
"tags": "$:/tags/Macro",
"text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
},
"$:/core/macros/timeline": {
"title": "$:/core/macros/timeline",
"created": "20141212105914482",
"modified": "20141212110330815",
"tags": "$:/tags/Macro",
"text": "\\define timeline-title()\n\\whitespace trim\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><<timeline-title>></$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
},
"$:/core/macros/toc": {
"title": "$:/core/macros/toc",
"tags": "$:/tags/Macro",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\")\n<$macrocall $name=\"toc-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$link>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n <li class=<<toc-item-class>>>\n <$link>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=<<__selectedTiddler__>>>\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\"/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=<<__template__>>>\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=<<__selectedTiddler__>>>\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>\n</$linkcatcher>\n\\end\n\n"
},
"$:/core/macros/translink": {
"title": "$:/core/macros/translink",
"tags": "$:/tags/Macro",
"text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tree": {
"title": "$:/core/macros/tree",
"tags": "$:/tags/Macro",
"text": "\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/utils": {
"title": "$:/core/macros/utils",
"text": "\\define colour(colour)\n$colour$\n\\end\n"
},
"$:/snippets/minifocusswitcher": {
"title": "$:/snippets/minifocusswitcher",
"text": "<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n"
},
"$:/snippets/minilanguageswitcher": {
"title": "$:/snippets/minilanguageswitcher",
"text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/minithemeswitcher": {
"title": "$:/snippets/minithemeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/modules": {
"title": "$:/snippets/modules",
"text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
},
"$:/palette": {
"title": "$:/palette",
"text": "$:/palettes/Vanilla"
},
"$:/snippets/paletteeditor": {
"title": "$:/snippets/paletteeditor",
"text": "<$transclude tiddler=\"$:/PaletteManager\"/>\n"
},
"$:/snippets/palettepreview": {
"title": "$:/snippets/palettepreview",
"text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"
},
"$:/snippets/paletteswitcher": {
"title": "$:/snippets/paletteswitcher",
"text": "<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\"><$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/>{{||$:/snippets/currpalettepreview}}</$link>\n</div></$set>\n</$list>\n</div>\n</$linkcatcher>\n"
},
"$:/snippets/peek-stylesheets": {
"title": "$:/snippets/peek-stylesheets",
"text": "\\define expandable-stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"
},
"$:/temp/search": {
"title": "$:/temp/search",
"text": ""
},
"$:/tags/AdvancedSearch": {
"title": "$:/tags/AdvancedSearch",
"list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
},
"$:/tags/AdvancedSearch/FilterButton": {
"title": "$:/tags/AdvancedSearch/FilterButton",
"list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
},
"$:/tags/ControlPanel": {
"title": "$:/tags/ControlPanel",
"list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
},
"$:/tags/ControlPanel/Info": {
"title": "$:/tags/ControlPanel/Info",
"list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
},
"$:/tags/ControlPanel/Plugins": {
"title": "$:/tags/ControlPanel/Plugins",
"list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
},
"$:/tags/EditTemplate": {
"title": "$:/tags/EditTemplate",
"list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
},
"$:/tags/EditToolbar": {
"title": "$:/tags/EditToolbar",
"list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
},
"$:/tags/EditorToolbar": {
"title": "$:/tags/EditorToolbar",
"list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
},
"$:/tags/Manager/ItemMain": {
"title": "$:/tags/Manager/ItemMain",
"list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
},
"$:/tags/Manager/ItemSidebar": {
"title": "$:/tags/Manager/ItemSidebar",
"list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
},
"$:/tags/MoreSideBar": {
"title": "$:/tags/MoreSideBar",
"list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]",
"text": ""
},
"$:/tags/PageControls": {
"title": "$:/tags/PageControls",
"list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
},
"$:/tags/PageTemplate": {
"title": "$:/tags/PageTemplate",
"list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
"text": ""
},
"$:/tags/PluginLibrary": {
"title": "$:/tags/PluginLibrary",
"list": "$:/config/OfficialPluginLibrary"
},
"$:/tags/SideBar": {
"title": "$:/tags/SideBar",
"list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
"text": ""
},
"$:/tags/SideBarSegment": {
"title": "$:/tags/SideBarSegment",
"list": "[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"
},
"$:/tags/TiddlerInfo": {
"title": "$:/tags/TiddlerInfo",
"list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
"text": ""
},
"$:/tags/TiddlerInfo/Advanced": {
"title": "$:/tags/TiddlerInfo/Advanced",
"list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
},
"$:/tags/ViewTemplate": {
"title": "$:/tags/ViewTemplate",
"list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
},
"$:/tags/ViewToolbar": {
"title": "$:/tags/ViewToolbar",
"list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
},
"$:/snippets/themeswitcher": {
"title": "$:/snippets/themeswitcher",
"text": "<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\"><$list filter=\"[plugin-type[theme]sort[title]]\"><$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/core/wiki/title": {
"title": "$:/core/wiki/title",
"text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
},
"$:/view": {
"title": "$:/view",
"text": "classic"
},
"$:/snippets/viewswitcher": {
"title": "$:/snippets/viewswitcher",
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
}
}
}
\define timeline-title()
\whitespace trim
<!-- Override this macro with a global macro
of the same name if you need to change
how titles are displayed on the timeline
-->
<$view field="title"/>
\end
\define timeline(limit:"1000000",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<div class="tc-timeline">
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
<div class="tc-menu-list-item">
<$view field="$dateField$" format="date" template="$format$"/>
<$list filter="[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}><<timeline-title>></$link>
</div>
</$list>
</div>
</$list>
</div>
\end
/*\
title: $:/core/modules/filters/has.js
type: application/javascript
module-type: filteroperator
Filter operator for checking if a tiddler has the specified field
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Export our filter function
*/
exports.has = function(source,operator,options) {
var results = [],
invert = operator.prefix === "!";
if(operator.suffix === "field") {
if(invert) {
source(function(tiddler,title) {
if(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {
results.push(title);
}
});
} else {
source(function(tiddler,title) {
if(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {
results.push(title);
}
});
}
} else {
if(invert) {
source(function(tiddler,title) {
if(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === "") || (tiddler.fields[operator.operand].length === 0)) {
results.push(title);
}
});
} else {
source(function(tiddler,title) {
if(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === "" || tiddler.fields[operator.operand].length === 0)) {
results.push(title);
}
});
}
}
return results;
};
})();
\whitespace trim
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" default="show">
<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
{{$:/core/images/fold-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text">
<$text text=" "/>
<$text text={{$:/language/Buttons/Fold/Caption}}/>
</span>
</$list>
</$button>
</$reveal>
<$reveal type="match" stateTitle=<<folded-state>> text="hide" default="show">
<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
{{$:/core/images/unfold-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text">
<$text text=" "/>
<$text text={{$:/language/Buttons/Unfold/Caption}}/>
</span>
</$list>
</$button>
</$reveal>
{{$:/snippets/viewswitcher}}
\define lingo-base() $:/language/EditTemplate/
\whitespace trim
<div class="tc-type-selector"><$fieldmangler>
<em class="tc-edit"><<lingo Type/Prompt>></em> <$edit-text field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}}/> <$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>
</$fieldmangler></div>
<div class="tc-block-dropdown-wrapper">
<$set name="tv-show-missing-links" value="yes">
<$reveal state=<<qualify "$:/state/popup/type-dropdown">> type="nomatch" text="" default="">
<div class="tc-block-dropdown tc-edit-type-dropdown">
<$linkcatcher to="!!type">
<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>
<div class="tc-dropdown-item">
<$text text={{!!group}}/>
</div>
<$list filter="[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]"><$link to={{!!name}}><$view field="description"/> (<$view field="name"/>)</$link>
</$list>
</$list>
</$linkcatcher>
</div>
</$reveal>
</$set>
</div>
\define folded-state()
$:/state/folded/$(currentTiddler)$
\end
\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]
<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify "$:/state/popup/tiddler-info">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]" variable="listItem"><$transclude tiddler=<<listItem>>/></$list>
</div>
</$vars>
\define title-styles()
fill:$(foregroundColor)$;
\end
\define config-title()
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
<div class="tc-tiddler-title">
<div class="tc-titlebar">
<span class="tc-tiddler-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>
</span>
<$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}>
<$link>
<$set name="foregroundColor" value={{!!color}}>
<span class="tc-tiddler-title-icon" style=<<title-styles>>>
<$transclude tiddler={{!!icon}}/>
</span>
</$set>
<$list filter="[all[current]removeprefix[$:/]]">
<h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}>
<span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/>
</h2>
</$list>
<$list filter="[all[current]!prefix[$:/]]">
<h2 class="tc-title">
<$view field="title"/>
</h2>
</$list>
</$link>
</$set>
</div>
<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup-handle" animate="yes" retain="yes">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]" variable="listItem"><$transclude tiddler=<<listItem>> mode="block"/></$list>
</$reveal>
</div>
YongHaoWu/YongHaoWu.github.io
\define icon(icon navigate tooltip)
<$button to="$navigate$" tooltip="$tooltip$"class="tc-btn-invisible"><<__icon__>></$button>
\end
\define _icon(icon)
<button class="tc-btn-invisible"disabled><<__icon__>></button>
\end
* ''Version'': 1.0.0
* ''Date'': 2020/02/27
* ''Creator'': HC Haase. Inspired by [[Bimlas|https://bimlas.gitlab.io/tw5-locator/#%24%3A%2Fbimlas%2Fmacros%2Ficon]].
!! Function
This macro make transcluded icons follow the line height of the text with the option of a link and a tooltip.
This makes prettier references to buttons (like this <<_icon {{$:/core/images/new-button}} "link" "tooltip text">> instead of this {{$:/core/images/new-button}}) in documentation text.
There is a'' simple macro'' without a button and an ''extended macro'' with a button.
!! Use
;Syntax, simple macro (note the `_`)
:`<<_icon <transclusion> >>`<$button message="tm-copy-to-clipboard" param="<<_icon <transclusion> >>"}>Copy</$button>
;Syntax, extended macro
:`<<icon <transclusion> <link> "<tooltip text>" >>`<$button message="tm-copy-to-clipboard" param="<<icon <transclusion> >>"}>Copy</$button>
|! Attribute|!Option|!Description|
|transclusion|required|a transclusion of an icon|
|link|optional|name of tiddler to link to (omit with `""`)|
|tooltip text|optional|text of tooltip|
;Example
:`<<icon {{$:/core/images/new-button}} "link" "tooltip text">>`
:will produce <<icon {{$:/core/images/new-button}} "link" "tooltip text">> that links to "link".
NB: if you want no link, but at tooltip, use `""` for a empty link.
!! Code
```
\define icon(icon navigate tooltip)
<$button to="$navigate$" tooltip="$tooltip$"class="tc-btn-invisible"><<__icon__>></$button>
\end
\define _icon(icon)
<button class="tc-btn-invisible"disabled><<__icon__>></button>
\end
```
下列条目已被导入:
# [[designNewsFeed.png]]
Create a new tiddler that links to this one
Create a new journal tiddler that links to this one
{
"tiddlers": {
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "高级查找"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "高级查找"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "取消"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "放弃对此条目的更改"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "克隆"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "克隆此条目"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "关闭"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "关闭此条目"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "全部关闭"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "关闭所有条目"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "关闭其他"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "关闭其他条目"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "控制台"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "开启控制台"
},
"$:/language/Buttons/CopyToClipboard/Caption": {
"title": "$:/language/Buttons/CopyToClipboard/Caption",
"text": "复制到剪贴板"
},
"$:/language/Buttons/CopyToClipboard/Hint": {
"title": "$:/language/Buttons/CopyToClipboard/Hint",
"text": "将此文本复制到剪贴板"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "删除"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "删除此条目"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "编辑"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "编辑此条目"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "加密"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "设置或清除保存此维基的密码"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "清除密码"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "清除密码且不加密保存此维基"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "设置密码"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "设置加密保存此维基的密码"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "导出所有条目"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "导出所有条目"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "导出此条目"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "导出此条目"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "导出条目"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "导出条目"
},
"$:/language/Buttons/SidebarSearch/Hint": {
"title": "$:/language/Buttons/SidebarSearch/Hint",
"text": "选择侧边栏的查找字段"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "收合条目"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "收合此条目的内容"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "展开条目"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "展开此条目的内容"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "收合其他条目"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "收合其他已开启条目的内容"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "收合所有条目"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "收合所有已开启条目的内容"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "收合栏"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "可选的收合与展开条目的长条按钮"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "展开所有条目"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "展开所有已开启条目的内容"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "全屏幕"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "进入或离开全屏模式"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "帮助"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "显示帮助面板"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "首页"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "开启首页条目"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "导入"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "导入许多类型的文件包括文本、图像、TiddlyWiki 或 JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "信息"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "显示此条目的信息"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "语言"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "选择用户介面语言"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "条目管理器"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "开启条目管理器"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "更多"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "更多动作"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "添加子条目"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "创建一个标签为此条目名称的新条目"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "添加日志"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "创建一个新的日志条目"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "添加子日志"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "创建一个标签含此条目名称的新日志条目"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "添加图像"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "创建一个新的图像条目"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "添加 Markdown 条目"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "创建一个新的 Markdown 条目"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "添加条目"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "创建一个新的条目"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "开启于新窗口"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "在新窗口中开启条目"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "调色板"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "选择调色板"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "引用链接"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "设置浏览器网址栏为直接链接到此条目"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "永久链接"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "设置浏览器网址栏为直接链接到当前所有已开启条目"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "打印页面"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "打印当前页面"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "刷新"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "执行维基的完全刷新"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "确定"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "确定对此条目的更改"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "保存变更"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "保存变更"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "查看模式"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "选择查看条目的视觉效果"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "隐藏侧边栏"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "隐藏侧边栏"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "显示侧边栏"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "显示侧边栏"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "标签管理"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "标签管理"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "时间戳记"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "选择修改是否更新时间戳记"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "时间戳记开启"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "条目被修改时,更新时间戳记"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "时间戳记关闭"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "条目被修改时,不更新时间戳记"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "布景主题"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "选择布景主题"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "粗体"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "套用粗体格式于所选文本"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "清除"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "清除图像为纯色"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "编辑器高度"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "自动调整高度以适合内容"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "固定高度︰"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "选择文本编辑器的高度"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "剪切"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "执行剪切"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "宏的名称︰"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "新条目的名称︰"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "替换剪切的文本为:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "宏"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "链接"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "嵌入"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "将新条目的标签设为此条目的名称"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "警示:条目已经存在"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "剪切所选文本到一个新条目"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "标题 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "套用标题级别 1 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "标题 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "套用标题级别 2 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "标题 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "套用标题级别 3 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "标题 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "套用标题级别 4 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "标题 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "套用标题级别 5 的格式于包含所选文本的列"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "标题 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "套用标题级别 6 的格式于包含所选文本的列"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "斜体"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "套用斜体格式于所选文本"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "线宽"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "设置绘画的线条宽度"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "链接"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "创建维基文字链接"
},
"$:/language/Buttons/Linkify/Caption": {
"title": "$:/language/Buttons/Linkify/Caption",
"text": "维基链接"
},
"$:/language/Buttons/Linkify/Hint": {
"title": "$:/language/Buttons/Linkify/Hint",
"text": "套用维基链接于所选文字"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "符号清单"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "套用符号清单格式于包含所选文本的列"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "数字清单"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "套用数字清单格式于包含所选文本的列"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "等宽区块"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "套用等宽区块格式于包含所选文本的列"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "等宽"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "套用等宽字符格式于所选文本"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "不透明度"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "设置绘画的不透明度"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "绘画颜色"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "设置绘画的颜色"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "图片"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "插入图片"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "预览"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "显示预览窗格"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "预览类型"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "选择预览类型"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "引言"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "套用引言文本格式于包含所选文本的列"
},
"$:/language/Buttons/RotateLeft/Caption": {
"title": "$:/language/Buttons/RotateLeft/Caption",
"text": "向左旋转"
},
"$:/language/Buttons/RotateLeft/Hint": {
"title": "$:/language/Buttons/RotateLeft/Hint",
"text": "图像向左旋转 90 度"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "图像大小"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "高度︰"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "调整图像的大小"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "宽度:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "设置图像的大小"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "印记"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "添加您自己的"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "插入一个预配置的文本片段"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "在选单中显示的标题"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "片段的文本。(记得在 `caption` 栏位中添加一个说明性的标题)。"
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "删除线"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "套用删除线格式于所选文本"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "下标"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "套用下标格式于所选文本"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "上标"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "套用上标格式于所选文本"
},
"$:/language/Buttons/ToggleSidebar/Hint": {
"title": "$:/language/Buttons/ToggleSidebar/Hint",
"text": "切换显示或隐藏侧边栏"
},
"$:/language/Buttons/Transcludify/Caption": {
"title": "$:/language/Buttons/Transcludify/Caption",
"text": "嵌入"
},
"$:/language/Buttons/Transcludify/Hint": {
"title": "$:/language/Buttons/Transcludify/Hint",
"text": "套用嵌入于所选文字"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "下划线"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "套用下划线格式于所选文本"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "高级"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "关于此 TiddlyWiki 的内部信息"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "视觉外观"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "定制您的 TiddlyWiki 外观。"
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "动画持续时间"
},
"$:/language/ControlPanel/Basics/AutoFocus/Prompt": {
"title": "$:/language/ControlPanel/Basics/AutoFocus/Prompt",
"text": "编辑条目时的默认自动停留栏位"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "基本"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "标题含空白时请使用 [[双中括弧]],或者您可用 <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">保留开启中的条目顺序</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "首页"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "默认开启的条目"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "您好!当前的语言:"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "新日志条目的标签"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "新日志条目的内容"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "新日志条目的名称"
},
"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt",
"text": "新条目的标签"
},
"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt",
"text": "新条目的名称"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "被覆盖的默认条目数量"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "默认条目数量"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "副标题"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "系统条目数量"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "标签数量"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "一般条目数量"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "标题"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "编辑者署名"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki 版本"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "编辑器类型"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "编辑器"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "这些条目决定使用哪个编辑器来编辑特定条目类型。"
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "类型"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "信息"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "有关此 TiddlyWiki 的信息"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "在此输入快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "添加快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "管理键盘快捷键分配"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "尚无指定快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "删除快捷键"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "所有平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "仅 Macintosh 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "仅非 Macintosh 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "仅 Linux 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "仅非 Linux 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "仅 Windows 平台"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "仅非 Windows 平台"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "已加载的模块"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "这些是当前已加载的模块之源码条目。斜体的模块则无源码条目,通常是因为它们是在引导过程中设置。"
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "调色板"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "复制"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "建议您修改前先复制此默认调色板"
},
"$:/language/ControlPanel/Palette/Editor/Delete/Hint": {
"title": "$:/language/ControlPanel/Palette/Editor/Delete/Hint",
"text": "从当前调色板中删除此项"
},
"$:/language/ControlPanel/Palette/Editor/Names/External/Show": {
"title": "$:/language/ControlPanel/Palette/Editor/Names/External/Show",
"text": "显示不属于当前调色板的颜色名称"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "此默认调色板已被修改过"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "编辑"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "重置"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "隐藏编辑器"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "当前的调色板:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "显示编辑器"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "从官方插件库安装插件"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "获取更多插件"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "此插件已经安装版本 <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/AlsoRequires": {
"title": "$:/language/ControlPanel/Plugins/AlsoRequires",
"text": "还需要:"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "插件"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "禁用"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "重新加载页面时禁用此插件"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(已禁用)"
},
"$:/language/ControlPanel/Plugins/Downgrade/Caption": {
"title": "$:/language/ControlPanel/Plugins/Downgrade/Caption",
"text": "降级"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "无"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "启用"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "重新加载页面时启用此插件"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "安装"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "当前已安装的插件:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "语言"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "语言包插件"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "无 ''\"<$text text=<<currentTab>>/>\"''"
},
"$:/language/ControlPanel/Plugins/NoInformation/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
"text": "未提供信息"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "尚未安装此插件"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "开启插件程式库"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "关闭插件程式库"
},
"$:/language/ControlPanel/Plugins/PluginWillRequireReload": {
"title": "$:/language/ControlPanel/Plugins/PluginWillRequireReload",
"text": "(需要重新加载)"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "插件"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "插件"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "重新安装"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "布景主题"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "布景主题插件"
},
"$:/language/ControlPanel/Plugins/Update/Caption": {
"title": "$:/language/ControlPanel/Plugins/Update/Caption",
"text": "更新"
},
"$:/language/ControlPanel/Plugins/Updates/Caption": {
"title": "$:/language/ControlPanel/Plugins/Updates/Caption",
"text": "更新"
},
"$:/language/ControlPanel/Plugins/Updates/Hint": {
"title": "$:/language/ControlPanel/Plugins/Updates/Hint",
"text": "已安装插件的可用更新"
},
"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption": {
"title": "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption",
"text": "更新 <<update-count>> 个插件"
},
"$:/language/ControlPanel/Plugins/SubPluginPrompt": {
"title": "$:/language/ControlPanel/Plugins/SubPluginPrompt",
"text": "提供 <<count>> 个可用的附加插件"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "解析"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "在此您可以全域禁用或启用维基解析规则。要使更改生效,请保存并重新加载您的维基。禁用某些解析规则,会妨碍 <$text text=\"TiddlyWiki\"/> 正常运作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢复正常操作。"
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "区块解析规则"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "内联解析规则"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "编译指示解析规则"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "保存"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "允许下载保存模块的自动保存"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "启用下载保存模块的自动保存"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "下载保存模块"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "这些设置适用于兼容 HTML5 的下载保存模块"
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "通用"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "这些设置适用于所有已载入的保存模块"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "用于通过保存模块将整个 TiddlyWiki 保存为单个文件的设置"
},
"$:/language/ControlPanel/Saving/GitService/Branch": {
"title": "$:/language/ControlPanel/Saving/GitService/Branch",
"text": "用于保存的目标分支"
},
"$:/language/ControlPanel/Saving/GitService/CommitMessage": {
"title": "$:/language/ControlPanel/Saving/GitService/CommitMessage",
"text": "由 TiddlyWiki 保存"
},
"$:/language/ControlPanel/Saving/GitService/Description": {
"title": "$:/language/ControlPanel/Saving/GitService/Description",
"text": "这些设置仅用于保存至 <<service-name>>"
},
"$:/language/ControlPanel/Saving/GitService/Filename": {
"title": "$:/language/ControlPanel/Saving/GitService/Filename",
"text": "目标文件的文件名称 (例如,`index.html`)"
},
"$:/language/ControlPanel/Saving/GitService/Path": {
"title": "$:/language/ControlPanel/Saving/GitService/Path",
"text": "目标文件的路径 (例如,`/wiki/`)"
},
"$:/language/ControlPanel/Saving/GitService/Repo": {
"title": "$:/language/ControlPanel/Saving/GitService/Repo",
"text": "目标存储库 (例如,`Jermolene/TiddlyWiki5`)"
},
"$:/language/ControlPanel/Saving/GitService/ServerURL": {
"title": "$:/language/ControlPanel/Saving/GitService/ServerURL",
"text": "服务器 API 网址"
},
"$:/language/ControlPanel/Saving/GitService/UserName": {
"title": "$:/language/ControlPanel/Saving/GitService/UserName",
"text": "用户名称"
},
"$:/language/ControlPanel/Saving/GitService/GitHub/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/GitHub/Caption",
"text": "~GitHub 保存模块"
},
"$:/language/ControlPanel/Saving/GitService/GitHub/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/GitHub/Password",
"text": "密码、OAUTH 令牌,或个人存取令牌 (详见 [[GitHub 帮助页面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])"
},
"$:/language/ControlPanel/Saving/GitService/GitLab/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/GitLab/Caption",
"text": "~GitLab 保存模块"
},
"$:/language/ControlPanel/Saving/GitService/GitLab/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/GitLab/Password",
"text": "个人存取令牌的 API (详见 [[GitLab 帮助页面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])"
},
"$:/language/ControlPanel/Saving/GitService/Gitea/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/Gitea/Caption",
"text": "Gitea 保存模块"
},
"$:/language/ControlPanel/Saving/GitService/Gitea/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/Gitea/Password",
"text": "个人存取令牌的 API (通过 Gitea 的 Web 界面:`设定 | 应用程序 | 产生新的令牌`)"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "高级设置"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "备份文件夹"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "备份"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "~TiddlySpot 保存模块"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "这些设置只适用于保存到 http://tiddlyspot.com 或兼容的远程服务器时。"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "上传文件名"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//默认之服务器网址 `http://<wikiname>.tiddlyspot.com/store.cgi`,可改为定制之服务器网址,例如 `http://example.com/store.php`。//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "密码"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "服务器网址"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "上传文件夹"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "用户"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "自动保存"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "不要自动保存变更"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "自动保存变更"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "当使用支持的保存模块时,在编辑期间尝试自动保存变更"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "驼峰式维基链接"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "您可以全域禁用驼峰式短语自动链接。须保存后重新加载,方才生效。"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "启用自动驼峰式链接"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "设置"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "默认侧边栏页签"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "指定默认显示的侧边栏页签"
},
"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption",
"text": "更多侧边栏的默认页签"
},
"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint",
"text": "指定默认显示的更多侧栏页签"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "编辑器工具栏"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "启用或禁用编辑器工具栏︰"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "显示编辑器工具栏"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "条目信息面板模式"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "控制条目信息面板何时关闭︰"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "条目信息面板自动关闭"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "条目信息面板保持打开状态,直到明确关闭"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "这些高级设置让您定制 TiddlyWiki 的行为。"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "条目开启行为"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "从故事河//中//导航"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "从故事河//外//导航"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "开启于当前条目之上"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "开启于当前条目之下"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "开启于故事河的顶端"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "开启于故事河的底部"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "维基链接"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "选择是否要链接到尚未存在的条目"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "启用链接到佚失条目"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "网址栏导览"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "在浏览器网址栏导览到条目时的行为:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "不更新网址栏"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "包含目标条目"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "包括目标条目和当前已开启的条目序列"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "历史记录导览"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "当导览到条目时,更新浏览器历史记录:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "不更新历史记录"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "更新历史记录"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption",
"text": "引用链接/固定链接 模式"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint",
"text": "选择 引用链接/固定链接 的处理方式:"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description",
"text": "将 引用链接/固定链接 网址复制到剪贴板"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description",
"text": "以 引用链接/固定链接 更新网址栏"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "性能检测"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "在浏览器的开发人员控制台,显示性能统计数据。需要重新加载才能生效。"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "启用性能检测"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "工具栏按钮样式"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "选择工具栏按钮的样式:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "无边框"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "方框"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "圆形"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "工具栏按钮"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "默认的工具栏按钮外观:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "包含图标"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "包含文本"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "条目标题"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "可选地显示条目标题为链接"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "不显示条目标题为链接"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "显示条目标题为链接"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "查看模式"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "当前的查看模式:"
},
"$:/language/ControlPanel/Stylesheets/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Caption",
"text": "样式表"
},
"$:/language/ControlPanel/Stylesheets/Expand/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Expand/Caption",
"text": "全部展开"
},
"$:/language/ControlPanel/Stylesheets/Hint": {
"title": "$:/language/ControlPanel/Stylesheets/Hint",
"text": "这是当前标签为 <<tag \"$:/tags/Stylesheet\">> 的样式表条目呈现的 CSS"
},
"$:/language/ControlPanel/Stylesheets/Restore/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Restore/Caption",
"text": "复原"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "布景主题"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "当前的布景主题:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "条目栏位"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "这是本维基使用中的所有条目栏位(含系统条目的栏位,但默认条目的栏位除外)。"
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "工具栏"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "编辑工具栏"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "选择将显示哪些按钮于条目的编辑模式工具栏。拖放可改变顺序。"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "选择将显示哪些工具栏按钮"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "页面工具栏"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "选择将显示哪些按钮于主页面的工具栏。拖放可改变顺序。"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "编辑器工具栏"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "选择将显示哪些按钮于编辑器工具栏。请注意,某些按钮只会出现在编辑某一类型的条目时。拖放可改变顺序。"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "查看工具栏"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "选择将显示哪些按钮于条目的查看模式工具栏。拖放可改变顺序。"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "下载完整副本"
},
"$:/core/zh-Hans/readme": {
"title": "$:/core/zh-Hans/readme",
"text": "此插件包含 TiddlyWiki 的核心组件,包括:\n\n* JavaScript 代码模块\n* 图标\n* 创建 TiddlyWiki 的用户介面所需的模板\n* 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译\n"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "周日"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "周一"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "周二"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "周三"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "周四"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "周五"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "周六"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "一月"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "二月"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "三月"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "四月"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "五月"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "六月"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "七月"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "八月"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "九月"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "十月"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "十一月"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "十二月"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "上午"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "下午"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "日"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "一"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "二"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "三"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "四"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "五"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "六"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "01月"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "02月"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "03月"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "04月"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "05月"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "06月"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "07月"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "08月"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "09月"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "10月"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "11月"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "12月"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> 天后"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> 小时后"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> 分钟后"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> 个月后"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 秒后"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> 秒后"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> 年后"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> 天前"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> 小时前"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> 分钟前"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> 个月前"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 秒前"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> 秒前"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> 年前"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "''all'' 筛选器算子的子算子。"
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "动画模块包含可用于 RevealWidget 的动画。"
},
"$:/language/Docs/ModuleTypes/authenticator": {
"title": "$:/language/Docs/ModuleTypes/authenticator",
"text": "定义内置 HTTP 服务器对请求的身份验证方式。"
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "一个位图编辑器工具栏操作。"
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "可于 Node.js 执行的指令。"
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "加入 `$tw.config` 的数据。"
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "个别筛选器算子方法。"
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "加入 `$tw` 的全域数据。"
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "透过 [[$:/temp/info-plugin]] 伪插件,发布系统信息。"
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "''is'' 筛选器算子的运算符。"
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "一般用途的 JavaScript 模块的通用模块类型。"
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript ''宏''定义。"
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "不同内容类型的解析器。"
},
"$:/language/Docs/ModuleTypes/route": {
"title": "$:/language/Docs/ModuleTypes/route",
"text": "定义内置 HTTP 服务器如何处理各个网址格式。"
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "于浏览器保存文件的不同的保存处理方法。"
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "启动时期的功能函数。"
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "查看模式用以自订 list 小部件的动画与行为。"
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "一个文本编辑器工具栏操作。"
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "转换不同内容类型至条目。"
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "定义个别条目栏位的行为。"
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "添加方法至 `$tw.Tiddler` 原型。"
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "于升级/导入过程中,套用升级处理至条目。"
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "添加方法至 `$tw.utils`。"
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "将特定于 Node.js 的方法添加到 '$tw.utils'。"
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "封装 DOM 渲染和刷新的小部件。"
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "添加方法至 `$tw.Wiki`。"
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "WikiText 解析器的个别的语法规则。"
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "警示背景"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "警示边框"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "警示高亮度"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "警示的低调前景"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "一般背景"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "引言条"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "默认按钮背景"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "默认按钮边框"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "默认按钮前景"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "代码背景"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "代码边框"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "代码前景"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "未保存变更指示器"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "下载按钮背景"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "下载按钮前景"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "拖动区背景"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "拖动区前景"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "下拉背景"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "下拉边框"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "选定的下拉页签背景"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "下拉页签背景"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "拖放背景"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "悬停外部链结背景"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "已造访过的外部链结背景"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "外部链结背景"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "悬停外部链结前景"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "已造访过的外部链结前景"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "外部链结前景"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "一般前景"
},
"$:/language/Docs/PaletteColours/menubar-background": {
"title": "$:/language/Docs/PaletteColours/menubar-background",
"text": "菜单列背景"
},
"$:/language/Docs/PaletteColours/menubar-foreground": {
"title": "$:/language/Docs/PaletteColours/menubar-foreground",
"text": "菜单列前景"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "信息框背景"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "信息边框"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "信息框前景"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "模块背景幕"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "模块背景"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "模块边框"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "模块页脚背景"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "模块页脚边框"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "模块标题边框"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "一般低调前景"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "通知背景"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "通知边框"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "页面背景"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "pre 背景"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "pre 边框"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "主颜色"
},
"$:/language/Docs/PaletteColours/select-tag-background": {
"title": "$:/language/Docs/PaletteColours/select-tag-background",
"text": "`<select>` 元素背景"
},
"$:/language/Docs/PaletteColours/select-tag-foreground": {
"title": "$:/language/Docs/PaletteColours/select-tag-foreground",
"text": "`<select>` 元素文本"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "侧边栏按钮前景"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "悬停侧边栏控制项前景"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "侧边栏控制项前景"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "侧边栏前景阴影"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "侧边栏前景"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "悬停侧边栏低调前景"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "侧边栏低调前景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "侧边栏选定页签背景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "侧边栏页签背景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "侧边栏选定页签边框"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "侧边栏页签边框"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "侧边栏页签分隔线"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "侧边栏选定页签前景"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "侧边栏页签前景"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "侧边栏悬停条目链结前景"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "侧边栏条目链结前景"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "网站标题前景"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "静态警示前景"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "选定的页签背景"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "页签背景"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "选定的页签边框"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "页签边框"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "页签分隔线"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "选定的页签前景"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "页签前景"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "表格边框"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "表格页脚背景"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "表格标题背景"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "标签背景"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "标签前景"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "条目背景"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "条目边框"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "悬停的条目控制项前景"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "选定的条目控制项前景"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "条目控制项前景"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "条目编辑器背景"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "条目编辑器边框图片"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "条目编辑器边框"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "条目编辑器中偶数栏位背景"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "条目编辑器中奇数栏位背景"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "条目信息面板背景"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "条目信息面板边框"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "条目信息面板页签背景"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "条目链结背景"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "条目链结前景"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "条目副标题前景"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "条目标题前景"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "工具栏 '添加条目' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "工具栏 '选项' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "工具栏 '保存' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "工具栏 '资讯' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "工具栏 '编辑' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "工具栏 '关闭' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "工具栏 '删除' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "工具栏 '取消' 按钮前景"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "工具栏 '完成 按钮前景"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "未设标签的背景"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "非常低调前景"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "此条目显示保存于主要的 TiddlyWiki 文件之外的内容。你可以编辑其标签和字段,但不能直接编辑内容本身"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "输入此条目的内容"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "输出"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "删除字段"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "删除字段"
},
"$:/language/EditTemplate/Field/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Field/Dropdown/Caption",
"text": "字段列表"
},
"$:/language/EditTemplate/Field/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Field/Dropdown/Hint",
"text": "显示字段列表"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "添加"
},
"$:/language/EditTemplate/Fields/Add/Button/Hint": {
"title": "$:/language/EditTemplate/Fields/Add/Button/Hint",
"text": "添加字段至条目"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "系统字段"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "使用者字段"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "字段名称"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "添加字段:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "字段内容"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "这是一个默认条目。您做的任何更改将会覆盖来自 <<pluginLink>> 插件的默认版本。"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "这是一个修改过的默认条目。删除此条目可以还原为 <<pluginLink>> 插件中的默认版本。"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "添加"
},
"$:/language/EditTemplate/Tags/Add/Button/Hint": {
"title": "$:/language/EditTemplate/Tags/Add/Button/Hint",
"text": "添加标签"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "标签名称"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "标签清单"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "显示标签清单"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "请注意,避免在条目名称中使用这些字符:<<bad-chars>>"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "目标条目已经存在"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "将在其他条目的 //tags// 和 //list// 字段中的 ''<$text text=<<fromTitle>>/>'' 改为 ''<$text text=<<toTitle>>/>''"
},
"$:/language/EditTemplate/Title/References/Prompt": {
"title": "$:/language/EditTemplate/Title/References/Prompt",
"text": "下列对此条目的引用,不会自动更新:"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "内容类型清单"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "显示内容类型清单"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "删除内容类型"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "删除内容类型"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "内容类型"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "类型:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "静态 HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON 文件"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV 文件"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" 文件"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "外部图像条目的完整的 URI"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "条目的来源集的名称"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "显示于页签或按钮上的标题文字"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "条目的 CSS 颜色值"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "负责[[警示条目|AlertMechanism]]的组件名称"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "条目的创建日期"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "条目的创建者"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "用于缓存[[浏览历史列表|HistoryMechanism]]的最上层条目"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "插件的相依插件列表"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "插件的说明、描述"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "草稿条目,包含条目的标题、标签、栏位 ..."
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "草稿条目的标题"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "wizard 的注脚"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "条目的标题含有与条目关联的图标"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "若设为 \"yes\",表示条目应该被保存为一个 JavaScript 程序库"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "条目的列表,指定一些条目的标题清单"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "前条目名称将被添加到条目排序清单中的设置条目名称之前,或若此栏位存在但是空的,则被添加于清单的前端"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "当前条目名称将被添加到条目排序清单的设置条目名称之后,或若此栏位存在但是空的,则被添加于清单的尾端"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "条目的最近修改日期与时间"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "条目的最近修改者"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "具可读性的插件条目的名称"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "插件条目的优先级数值"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "插件条目的类型"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "TiddlyWiki 的发布日期"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "条目存放于服务器中的修订版本"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "条目的网址"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "一个 wizard 的副标题"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "条目的标签清单"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "条目的内文"
},
"$:/language/Docs/Fields/throttle.refresh": {
"title": "$:/language/Docs/Fields/throttle.refresh",
"text": "如果存在,则限制此条目的刷新"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "条目的唯一名称"
},
"$:/language/Docs/Fields/toc-link": {
"title": "$:/language/Docs/Fields/toc-link",
"text": "若设为: \"no\",则抑制目录树中的条目链接。"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "条目的内容类型"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "插件的版本信息"
},
"$:/language/Docs/Fields/_is_skinny": {
"title": "$:/language/Docs/Fields/_is_skinny",
"text": "如果存在,则表示必须从服务器加载条目的文本字段"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "所有条目,不含系统条目"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "最近修改的条目,包含系统条目"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "最近修改的条目"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "所有标签,不含系统标签"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "缺失条目"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "草稿条目"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "孤立条目"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "系统条目"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "默认条目"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "被覆写的默认条目"
},
"$:/language/Filters/SessionTiddlers": {
"title": "$:/language/Filters/SessionTiddlers",
"text": "自维基加载后修改的条目"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "系统标签"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "故事河中的条目,不含 ~$:/AdvancedSearch"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "非维基文字条目"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n欢迎使用 ~TiddlyWiki 及参与 ~TiddlyWiki 社群\n\n开始将重要资讯存放于 ~TiddlyWiki 之前,确认您可以可靠地保存变更是很重要的。详细资讯请参阅 https://tiddlywiki.com/#GettingStarted\n\n!! 设置此 ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\n请参阅[[控制台|$:/ControlPanel]]查看更多选项。"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "自动执行已配置的命令",
"text": "生成指定的生成目标为当前 wiki。若未指定任何生成目标,则生成所有可用的目标。\n\n```\n--build <target> [<target> ...]\n```\n\n生成目标在 wiki 文件夹的 `tiddlywiki.info` 文件中定义。\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "清除用于后续加密的密码",
"text": "清除用于后续加密的密码\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\n用法: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\n可用的命令:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n取得关于某个命令的详细帮助:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/deletetiddlers": {
"title": "$:/language/Help/deletetiddlers",
"description": "删除一组条目",
"text": "<<.from-version \"5.1.20\">> 删除由筛选器标识的一组条目。\n\n```\n--deletetiddlers <filter>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "列出可用的 TiddlyWiki 版本",
"text": "列出可用版本的名称和描述。您可以用 `--init` 命令创建一个指定版本的新维基。\n\n```\n--editions\n```\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "通过网址从维基撷取条目",
"text": "通过 HTTP/HTTPS 撷取一个或多个文件,并导入匹配筛选器的条目,可选的转换传入的名称。\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\n \"file\" 和 \"files\" 选项撷取指定的文件,并尝试导入其中的条目(与将文件拖动到浏览器视窗中的处理相同)。 \"raw-file\" 和 \"raw-files\" 变选项撷取指定的文件,并将原始文件资料存储于条目,而不套用导入逻辑。\n\n使用 \"file\" and \"raw-file\" 选项为仅撷取单个文件,且第一个参数为要读取文件的网址。\n\n使用 \"files\" 和 \"raw-files\" 选项为撷取多个文件,且第一个参数是一个产生要读取文件的网址清单的筛选器。例如,给定标签为 \"remote-server\" 的一组具有字段 \"url\" 的条目,筛选器 `[tag[remote-server]get[url]]` 将取回所有可用的网址。\n\n对于 \"file\" 和 \"files\" 选项,the `<import-filter>` 参数指定一个筛选器,用于确定要导入哪些条目。如果未提供,则默认为 `[all[tiddlers]]`。\n\n对于所有选项,`<transform-filter>` 参数指定一个可选的筛选器,用于转换导入条目的名称。例如,`[addprefix[$:/myimports/]]` 会将前缀 `$:/myimports/` 加至每个名称。\n\n于 `--fetch` 之前使用 `--verbose` 命令,将在导入期间输出进度信息。\n\n请注意,TiddlyWiki 不会撷取一个已经加载插件的旧版本。\n\n以下示例从 https://tiddlywiki.com 取回所有非系统条目,并将其保存到一个 JSON 文件:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n以下范例从 https://tiddlywiki.com 取回 \"favicon\" 文件,并将其保存在名为 \"output.ico\" 的文件中。请注意,在 \"--fetch\" 命令中引用的中间条目 \"Icon Tiddler\",因为它被用作转换筛选器来替换预设的名称,而 \"--savetiddler\" 命令没有引号,因为它是直接用作标题。\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "显示 TiddlyWiki 命令的说明",
"text": "显示命令的帮助文本:\n\n```\n--help [<command>]\n```\n\n若省略命令名称,则显示可用命令的清单。\n"
},
"$:/language/Help/import": {
"title": "$:/language/Help/import",
"description": "从文件导入条目",
"text": "从 TiddlyWiki 文件 (`.html`)、`.tiddler`、`.tid`、`.json` 或其他本机文件导入条目。必须明确指定解串器,而不像 load 命令,从文件扩展名推断解串器。\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\n核心的解串器包括:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\n导入的条目名称,默认为文件名。\n\n编码默认为 \"utf8\",但用于导入二进制文件可以是 \"base64\"。\n\n请注意,TiddlyWiki 不会导入旧版本的已加载插件。\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "初始化一个新的 wiki 文件夹",
"text": "初始化一个空的 [[WikiFolder|WikiFolders]] 的指定版本的副本。\n\n```\n--init <edition> [<edition> ...]\n```\n\n例如:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\n注意:\n\n* 若有需要,将创建 wiki 文件夹目录\n* 其中 \"edition\" 默认为 ''empty''\n* 若 wiki 文件夹不是空的,则初始化命令将失败\n* 初始化命令会删除 'tiddlywiki.info' 文件内所有 'includeWikis' 的定义。\n* 当指定多个版本时,这些版本于初始化后,将覆写早期版本共用的所有文件 (故此最终的 `tiddlywiki.info` 文件将是从最近的版本复制而得)\n* `--editions` 传回所有可用版本的清单。\n"
},
"$:/language/Help/listen": {
"title": "$:/language/Help/listen",
"description": "为 TiddlyWiki 提供一个 HTTP 服务器接口",
"text": "通过 HTTP 提供一个维基服务。\n\nlisten 命令使用[[命名的命令参数|NamedCommandParameters]]:\n\n```\n--listen [<name>=<value>]...\n```\n\n所有参数都是可选的, 具有安全的默认值, 可以按任意顺序指定。认可的参数有:\n\n* ''host'' - 可选的主机名称, (默认为 \"127.0.0.1\" 或名为 \"localhost\")\n* ''path-prefix'' - 可选的路径前缀\n* ''port'' - 侦听的埠号;非数值会被解译为一个系统环境变数,从其中提取埠号 (默认为 \"8080\")\n* ''credentials'' - 凭证 CSV 文件的路径名(相对于维基文件夹)\n* ''anon-username'' - 匿名用户的编辑署名\n* ''username'' - 可选的基本验证用户名称\n* ''password'' - 可选的基本验证密码\n* ''authenticated-user-header'' - 可选的标头名称,用于受信任身份验证\n* ''readers'' - 允许读取此维基的主体,以逗号分隔的清单\n* ''writers'' - 允许写入此维基的主体,以逗号分隔的清单\n* ''csrf-disable'' - 设置为 \"yes\" 以禁用 CSRF 检查 (默认为 \"no\")\n* ''root-tiddler'' - 服务的基本条目 (默认为 \"$:/core/save/all\")\n* ''root-render-type'' - 呈现的基本条目的内容类型 (默认为 \"text/plain\")\n* ''root-serve-type'' - 服务的基本条目的内容类型 (默认为 \"text/html\")\n* ''tls-cert'' - TLS 证书文件的路径名(相对于维基文件夹)\n* ''tls-key'' - TLS 密钥文件的路径名(相对于维基文件夹)\n* ''debug-level'' - 可选的调试级别;设置为 \"debug\" 来查看请求的详细信息;(默认为 \"none\")\n* ''gzip'' - 设为 \"yes\" 以启用某些 http 端点的 gzip 压缩 (默认为 \"no\")\n\n有关向整个本地网络开启实例的信息,以及可能的安全问题,请参阅 TiddlyWiki.com 的 WebServer 条目。\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "从文件中加载条目",
"text": "从 TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` 或其他本机文件加载条目。应用的处理程序取决于导入文件的扩展名。如果您需要明确指定解串器和编码,请改用 `import` 命令。\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\n默认情况下, 如果未找到条目,load 命令会引发错误。通过提供可选的 \"noerror\" 参数可以抑制该错误。\n\n从已加密的 TiddlyWiki 文件中加载条目,须使用 PasswordCommand 指定密码,例如:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\n请注意 TiddlyWiki 将不加载旧版本的已挂载的插件。\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "构建升级处理所需的程式库插件",
"text": "为升级处理构建 `$:/UpgradeLibrary` 条目。\n\n升级程式库被格式化为一个插件类型为 `library` 的一般插件条目。它包含 TiddlyWiki5 存储库中所有可用的插件、布景主题和语言包的副本。\n\n此命令仅供内部使用;它只是与使用者构建一个自订的升级程序相关。\n\n```\n--makelibrary <title>\n```\n\n标题参数默认为 `$:/UpgradeLibrary`。\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "无此帮助项目"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "设置后续命令的基准输出文件夹",
"text": "设置后续命令的基准输出文件夹,默认为该版本文件夹的 `output` 子文件夹。\n\n```\n--output <pathname>\n```\n\n若指定的路径是相对路径,则它是被解析相对于当前的工作文件夹。例如:`--output .` 將輸出文件夹設置為當前工作文件夹。"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "设置用以加密的密码",
"text": "设置用以加密的密码\n\n```\n--password <password>\n```\n\n''请注意'':这不是用于提供 TiddlyWiki 具有密码保护功能。相反地,请看 [[ServerCommand]] 的密码选项说明。\n"
},
"$:/language/Help/render": {
"title": "$:/language/Help/render",
"description": "呈现个别条目到文件",
"text": "呈现由筛选器标识的个别条目,并将结果保存到指定的文件。\n\n可选择性地指定范本条目名称。在此情况下,不是直接呈现每个条目,而是使用设为正在呈现的条目名称的 \"currentTiddler\" 变量,来呈现范本条目。\n\n也可以选择性地指定附加变量的名称和值。\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': 标识要呈现的条目的筛选器\n* ''filename-filter'': 可选的筛选器,转换条目名称至路径名。如果省略,默认为 `[is[tiddler]addsuffix[.html]]`,其使用未改变的条目名称为文件名\n* ''template'': 可选的范本,用于呈现每个条目\n* ''render-type'': 可选的呈现类型:`text/html` (默认值) 会传回完整的 HTML 文本,而 `text/plain` 只会传回文本内容 (即其忽略 HTML 标记与其他不可印出的数据)\n* ''name'': 可选的变量名称\n* ''value'': 可选的变量值\n\n默认情况下,文件名被解析为相对于发行版文件夹的 `output` 子文件夹。`--output` 命令可用于将输出指到一个不同的文件夹。\n\n附注:\n\n* 输出目录不清除任何现有的文件\n* 文件名的路径中,任何不存在的文件夹,将自动创建。\n* 当正呈现的条目名称中带有空格,请注意同时使用命令行接口所要求的引号,与 TiddlyWiki 的双重方括号;`--render \"[[Motovun Jack.jpg]]\"`\n* 所选的项目被设置为当前正在呈现的条目名称,以此评估文件名筛选器,允条目名称用作基础计算的文件名。例如,`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码,然后增加首码 `static/`\n* `--render` 命令是已弃用的 `--rendertiddler` 和 `--rendertiddlers` 的一个更灵活的替代命令。\n\n例子:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- 呈现所有非系统条目为 \"tiddlers\" 子文件夹中的文件,文件名为 URL 编码的条目名称和扩展名 HTML\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "呈现个别条目为指定的内容类型",
"text": "(请注意:`--rendertiddler` 命令已被弃用,而支持新的、更灵活的 `--render` 命令)\n\n呈现个别条目为指定的[[内容类型|ContentType]],默认为 `text/html` 且保存为指定的文件名。\n\n还可以指定一个模板,在这种情况下,\"currentTiddler\" 变量设为正在呈现的条目 (第一个参数值) 与模板条目合并呈现。\n\n也能可选地指定附加变量的名称与其值。\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>]\n```\n\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\n\n自动创建在文件名称的路径中任何缺少的文件夹。\n\n例如,以下命令通过使用核心模板 `$:/core/templates/exporters/JsonFile`,将所有匹配筛选器 `[tag[done]]` 的条目保存到名为 `output.json` 的 JSON 文件。\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "呈现符合筛选条件的条目为指定的内容类型",
"text": "(请注意:`--rendertiddlers` 命令已被弃用,而支持新的、更灵活的 `--render` 命令)\n\n呈现符合筛选条的条目为指定的[[内容类型|ContentType]] (默认为 `text/html`) 与扩展名 (默认为 `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\n例如:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\n\n在目标文件夹中的任何文件都会被删除,除非指定 ''noclean'' 旗标。若缺少目标文件夹,则以递归方式创建。"
},
"$:/language/Help/save": {
"title": "$:/language/Help/save",
"description": "将个别原始条目保存到文件",
"text": "将筛选器标识的个别条目,以原始文本或二进位格式,保存到指定的文件。\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': 标识要保存的条目的筛选器\n* ''filename-filter'': 可选的筛选器,转换条目名称至路径名。如果省略,默认为 `[is[tiddler]]`,其使用未改变的条目名称为文件名\n\n附注:\n\n* 输出文件夹不清除任何现有的文件\n* 文件名的路径中,任何不存在的文件夹,将自动创建。\n* 当正保存的条目的名称中带有空格,请注意同时使用命令行接口所要求的引号,与 TiddlyWiki 的双重方括号;`--save \"[[Motovun Jack.jpg]]\"`\n* 所选的项目被设置为当前正在保存的条目名称,以此评估文件名筛选器,允条目名称用作基础计算的文件名。例如,`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码,然后增加首码 `static/`\n* `--save` 命令是已被弃用的 `--savetiddler` 和 `--savetiddlers` 的一个更灵活的替代命令。\n\n例子:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- 保存所有非系统的图像条目为 \"tiddlers\" 子文件夹中的文件,文件名为 URL 编码的条目名称"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "将条目的原始内容保存到一个文件",
"text": "(请注意:`--savetiddler` 命令已被弃用,而支持新的、更灵活的 `--save` 命令)\n\n保存个别条目的原始文本或二进制格式到指定的文件名。\n\n```\n--savetiddler <title> <filename>\n```\n\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\n\n自动创建在文件名称的路径中任何缺少的文件夹。\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "将一群条目的原始内容保存到一个文件夹",
"text": "(请注意:`--savetiddlers` 命令已被弃用,而支持新的、更灵活的 `--save` 命令)\n\n保存一群条目的原始文字或二进制格式到指定的文件夹。\n\n```\n--savetiddlers <filter> <pathname> [noclean]\n```\n\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\n\n保存指定的文件之前,会先清除输出目录的现有文件。可藉由指定 ''noclean'' 旗标,禁用该删除动作。\n\n自动创建在路径中任何缺少的文件夹。\n"
},
"$:/language/Help/savewikifolder": {
"title": "$:/language/Help/savewikifolder",
"description": "将维基保存到一个新的维基文件夹",
"text": "<<.from-version \"5.1.20\">> 将当前维基保存为一个维基文件夹,包含条目、插件和配置:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* 目标维基文件夹必须为空或不存在\n* 筛选器指定应包括哪些条目。其为可选,默认为 `[all[tiddlers]]`\n* 官方插件库中的插件,将替换为 `tiddlywiki.info` 文件中引用到的插件\n* 自订插件将解压缩到自己的文件夹中\n\n常见的用法是将一个 TiddlyWiki HTML 文件转换成维基文件夹:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "提供一个 HTTP 服务器介面到 TiddlyWiki (已弃用,支持新的 listen 命令)",
"text": "在服务器中内置 TiddlyWiki5 是非常简单。虽与 TiddlyWeb 兼容,但不支持许多健全互联网面向的使用方式所需的功能。\n\n提供呈现一个指定条目,也可将个别条目编码成 JSON,且支持基本的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\n参数说明:\n\n* ''port'' - 要侦听的埠号;非数值会被解译为一个系统环境变数,从其中提取埠号 (默认为 \"8080\")\n* ''root-tiddler'' - 服务的基本条目 (默认为 \"$:/core/save/all\")\n* ''root-render-type'' - 呈现的基本条目的内容类型 (默认为 \"text/plain\")\n* ''root-serve-type'' - 服务的基本条目的内容类型 (默认为 \"text/html\")\n* ''username'' - 默认的编辑者署名\n* ''password'' - 可选的基本验证密码\n* ''host'' - 可选的主机名称, (默认为 \"127.0.0.1\" 或名为 \"localhost\")\n* ''path-prefix'' - 可选的路径前缀\n* ''debug-level'' - 可选的调试级别;设置为 \"debug\" 来查看请求的详细信息;(默认为 \"none\")\n\n若指定密码参数,浏览器将提示使用者输入用户名与密码。注意,密码系以明码方式传递,应只在受信任的网络或 HTTPS 上使用。\n\n例如:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n若您需要设置主机名称或路径前缀,而不要求输入密码,则可以指定空字符串的使用者名和密码。\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\n使用这样的位址,会将您的系统暴露给本地网络。有关向整个本地网络开启实例的信息,以及可能的安全问题,请参阅 TiddlyWiki.com 的 WebServer 条目。\n\n同时执行多个 TiddlyWiki 服务,须分别指定不同的埠号。使用环境变数,有助于将埠号传递给 Node.js 进程。本示例引用一个名为 \"MY_PORT_NUMBER\" 的环境变数:\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "准备用于外部条目",
"text": "//请注意此命令是试验性的,且可能会更改或在最终定稿前被替换//\n\n设置一群条目的指定栏位到 wikifying 范本条目的结果,其中的 `currentTiddler` 变数设置为各该条目。\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\n参数说明:\n\n* ''filter'' - 受影响的辨识条目的筛选条件\n* ''fieldname'' - 要修改的栏位(默认为 \"text\")\n* ''templatetitle'' - 该条目 wikify 到指定栏位。若为空白或丢失,则删除指定的栏位\n* ''rendertype'' - 要呈现的文本类型(默认为 \"text/plain\"; \"text/html\" 可以用于包含 HTML 标记))\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "从插件解开附属的条目",
"text": "提取插件的附属条目,将其建立为一般条目:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "触发详细的输出模式",
"text": "触发显示详细的命令执行过程,可用于调试\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "显示 TiddlyWiki 的版本编号",
"text": "显示 TiddlyWiki 的版本编号。\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "下列条目已被导入:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "取消"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "这些条目已备妥导入:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "导入"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "选择"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "状态"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "条目"
},
"$:/language/Import/Listing/Preview": {
"title": "$:/language/Import/Listing/Preview",
"text": "预览:"
},
"$:/language/Import/Listing/Preview/Text": {
"title": "$:/language/Import/Listing/Preview/Text",
"text": "文本"
},
"$:/language/Import/Listing/Preview/TextRaw": {
"title": "$:/language/Import/Listing/Preview/TextRaw",
"text": "文本 (原始)"
},
"$:/language/Import/Listing/Preview/Fields": {
"title": "$:/language/Import/Listing/Preview/Fields",
"text": "字段"
},
"$:/language/Import/Listing/Preview/Diff": {
"title": "$:/language/Import/Listing/Preview/Diff",
"text": "差异"
},
"$:/language/Import/Listing/Preview/DiffFields": {
"title": "$:/language/Import/Listing/Preview/DiffFields",
"text": "差异 (字段)"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "封锁的不兼容或过时插件"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "封锁的插件 (由于传入的 <<incoming>> 较现有版本 <<existing>> 旧)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "升级插件,从 <<incoming>> 到 <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "封锁的暂存状态条目"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "封锁的系统条目"
},
"$:/language/Import/Upgrader/System/Warning": {
"title": "$:/language/Import/Upgrader/System/Warning",
"text": "核心模块条目"
},
"$:/language/Import/Upgrader/System/Alert": {
"title": "$:/language/Import/Upgrader/System/Alert",
"text": "您即将导入一个条目会覆盖一个核心模块条目。不建议这样做,因为可能会使系统不稳定。"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "从 <$text text=<<from>>/> 迁移布景主题"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "您貌似要加载为 ~TiddlyWiki 经典版设计的插件。请注意,[[这些插件无法运行于 TiddlyWiki 5.x.x 版|https://tiddlywiki.com/#TiddlyWikiClassic]]。检测到 ~TiddlyWiki 经典版插件:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "此条目包含二进制数据"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "此条目以经典版 TiddlyWiki 标记格式撰写,不完全兼容新版 TiddlyWiki 的格式,详细信息请参阅:https://tiddlywiki.com/static/Upgrading。"
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "升级"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "全部关闭"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "最近︰"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "您确定要放弃对条目 \"<$text text=<<title>>/>\" 的更改?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "您确定要删除条目 \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "您确定要复写条目 \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "您即将要编辑默认条目,任何更改将会复盖默认的系统,使未来的升级不寻常。您确定要编辑 \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "计数"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "新条目"
},
"$:/language/Diffs/CountMessage": {
"title": "$:/language/Diffs/CountMessage",
"text": "<<diff-count>> 个差异"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "拖放到此处 (或按 ESC 键取消)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "取消"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "您要清除密码吗?当保存此维基时,这将删除已套用的加密"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "用户名称"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "密码"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "为此 TiddlyWiki 设置一个新密码"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "重复输入密码"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "密码不匹配"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "设定密码"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "错误"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "服务器上的文件已更改"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "筛选器错误"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "筛选器运算式中的语法错误"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "筛选器错误︰'is' 筛选器运算符的未知操作数"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "加载插件程式库时,发生错误"
},
"$:/language/Error/NetworkErrorAlert": {
"title": "$:/language/Error/NetworkErrorAlert",
"text": "`<h2>''网络错误''</h2>与服务器的连缐似乎已中断。这可能表示您的网络连缐有问题。请尝试恢复网路连缐才能继续。<br><br>''恢复连缐时,所有未保存的更改,将自动同步''。`"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "于 transclude 小部件中的递回嵌入错误"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "简要条目清单撷取错误"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "保存到 TWEdit 时,发生错误"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "保存时,发生错误"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest 错误代码"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "内部的 JavaScript 错误"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "喔,真是令人尴尬。建议刷新您的浏览器,重新启动 TiddlyWiki"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "栏位名称 \"<$text text=<<fieldName>>/>\" 包含无效字符,栏位名称只能包含小写字母、数字、底线 (`_`)、 连字号 (`-`) 和小数点 (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>正在从 ''<$text text={{!!_canonical_uri}}/>'' 加载外部内容 ...</p><p>如果此信息未消失,可能是条目内容类型与外部内容的类型不匹配,或是您可能正在使用的浏览器,不支援单文件式维基的外部内容。请参阅 https://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "登录 TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(无)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "依标签筛选︰"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "反向顺序"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "搜寻"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "搜寻︰"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "标签"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "条目"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "显示︰"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "排序︰"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "颜色"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "栏位"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(无)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "图标"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "原始文字"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "标签"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "工具"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified 文字"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "佚失条目 \"<$text text=<<currentTiddler>>/>\" - 点击 {{||$:/core/ui/Buttons/edit}} 可创建此条目"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "否"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "~TiddlyWiki 官方插件程式库"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "此为在 tiddlywiki.com 的 ~TiddlyWiki 官方插件程式库。由核心团队维护的插件、主题和语言包。"
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} ,使 ~JavaScript 插件的更改生效"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "YYYY年0MM月0DD日"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "此为系统条目"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "包括系统条目"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "颜色"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "计数"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "图标"
},
"$:/language/TagManager/Icons/None": {
"title": "$:/language/TagManager/Icons/None",
"text": "无"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "信息"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "标签"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "YYYY年0MM月0DD日 0hh:0mm"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "在此 TiddlyWiki 您有尚未保存的变更"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "是"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">关闭</$button>",
"help": "https://tiddlywiki.com/",
"text": "您的浏览器只支援手动保存。\n\n要保存更动的维基,右键点击下方的下载链结,选择\"下载文件\"或\"保存文件\",然后选择文件夹或文件名。\n\n//您可以藉由按一下 Ctrl 键(Windows)或 options/ alt 键(Mac OS X)中的链接,稍微加速操作。您不会被提示文件夹或文件名,您的浏览器可能无法辨认它的文件名 -- 在做其他任何事之前,您可能需要重新命名扩展名为 `.html` 的文件。//\n\n在智能型手机上,不允许下载文件,但您可以标记链结,然后从一台可以正常保存维基的台式机的维基同步你的书签。"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">关闭</$button>",
"help": "https://tiddlywiki.com/static/SavingChanges.html",
"text": "您对此 wiki 的变更需被保存为 ~TiddlyWiki HTML 文件。\n\n!!! 桌面版浏览器\n\n# 从''文件''菜单点选 ''另存为''\n# 选定文件名及保存位置\n#* 某些浏览器依然需要明确指定文件格式为 ''Webpage, HTML only'' 或类似的。\n# 关闭此页签\n\n!!! 智能手机版浏览器\n\n# 为此页建立书签\n#* 若您已设置 iCloud 或 Google 同步,该书签将自动与之前开启及保存于您电脑的书签同步。\n# 关闭此页签\n\n//若您再次于 Mobile Safari 开启该书签,将会再看到此信息。若要继续使用该文件,只需点击下列 ''关闭'' 按钮//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "YYYY年0MM月0DD日"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"tags": "日志"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "已保存 wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "开始保存 wiki"
},
"$:/language/Notifications/CopiedToClipboard/Succeeded": {
"title": "$:/language/Notifications/CopiedToClipboard/Succeeded",
"text": "已复制到剪贴板!"
},
"$:/language/Notifications/CopiedToClipboard/Failed": {
"title": "$:/language/Notifications/CopiedToClipboard/Failed",
"text": "无法复制到剪贴板!"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "列表"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "筛选"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "以[[筛选表达式|https://tiddlywiki.com/static/Filters.html]]查找"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "所有匹配:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "条目名称匹配:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "查找"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "查找文本太短"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "默认"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "查找默认条目"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "标准"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "查找一般条目"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "系统"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "查找系统条目"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> 个条目符合条件</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "全部"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "目录"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "草稿"
},
"$:/language/SideBar/Explorer/Caption": {
"title": "$:/language/SideBar/Explorer/Caption",
"text": "探索"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "缺失"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "更多"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "开启"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "孤立"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "最近"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "默认"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "系统"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "标签"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "未设标签"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "工具"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "类型"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "一个非线性的网页式笔记"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "我的 ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "依标签筛选的条目列表",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "宏的定义",
"text": "\\define macroName(param1:\"默认值\",param2)\n宏的内容\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "4 x 3 的表格",
"text": "|! | !一 | !二 | !三 | !四 |\n|! 1| | | | |\n|! 2| | | | |\n|! 3 | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "目录",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "主题调整"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "您可以调整 ''Vanilla'' 布景主题的某些样貌。"
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "选项"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "侧边栏布局"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "固定故事,浮动侧边栏"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "浮动故事,固定侧边栏"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "置顶标题"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "使条目名称\"黏着\"于浏览器窗口的顶端"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "在代码区块中折行"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "设置"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "字型"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "代码字型"
},
"$:/language/ThemeTweaks/Settings/EditorFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/EditorFontFamily",
"text": "编辑器字型"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "页面背景图像"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "页面背景图像附属"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "随条目卷动"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "固定于窗口"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "页面背景图像大小"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "自动"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "覆盖"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "包含"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "大小"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "字体大小"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "行高"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "条目本文的字体大小"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "条目本文的行高"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "故事左侧位置"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "故事河(条目区)的左边缘与页面左端的间距"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "故事顶端位置"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "故事河(条目区)的上边缘与页面顶端的间距"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "故事右侧位置"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "侧边栏的左边缘与页面左端的间距"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "故事的宽度"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "故事河的整体宽度"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "条目宽度"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "在故事河内"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "侧边栏中断点"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "故事河和侧边栏会并排显示的最小页面宽度"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "侧边栏宽度"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "在浮动-固定布局中,侧边栏的宽度"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "高级"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "无信息"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "插件明细"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "此插件包含以下预设条目:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "默认条目状态"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "<$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 不是一个默认条目"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "<$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 是一个默认条目"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "此条目定义于插件 <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "已被一般条目覆写"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "栏位"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "列表"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "此条目无指定列表"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "被列于"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "此条目未出现于其他条目的列表中"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "参照"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "无条目链接至此"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "子条目"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "无任何条目以此条目之标题为标签"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "工具"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript 源码",
"name": "application/javascript",
"group": "开发者"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON 数据",
"name": "application/json",
"group": "开发者"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "数据字典",
"name": "application/x-tiddler-dictionary",
"group": "开发者"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF 图像",
"name": "image/gif",
"group": "图像"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG 图像",
"name": "image/jpeg",
"group": "图像"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG 图像",
"name": "image/png",
"group": "图像"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "结构式矢量图",
"name": "image/svg+xml",
"group": "图像"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "图标",
"name": "image/x-icon",
"group": "图像"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "静态样式",
"name": "text/css",
"group": "开发者"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML 标记",
"name": "text/html",
"group": "文本"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "纯文本",
"name": "text/plain",
"group": "文本"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "文本"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki 2",
"name": "text/x-tiddlywiki",
"group": "文本"
},
"$:/config/Search/MinLength": {
"title": "$:/config/Search/MinLength",
"text": "1"
},
"$:/languages/zh-Hans/icon": {
"title": "$:/languages/zh-Hans/icon",
"type": "image/svg+xml",
"text": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"1500\" height=\"1000\" viewBox=\"-5 -5 30 20\">\n<title>Flag of the People's Republic of China</title>\n<rect fill=\"#de2910\" x=\"-5\" y=\"-5\" width=\"30\" height=\"20\"/>\n<defs>\n<polygon id=\"s\" points=\"0,-513674 301930,415571 -488533,-158734 488533,-158734 -301930,415571\"\nfill=\"#ffde00\" transform=\"scale(0.0000019467600073)\"/>\n</defs>\n<use xlink:href=\"#s\" transform=\"scale(3)\"/>\n<use xlink:href=\"#s\" transform=\"translate(5,-3) rotate(-120.963756)\"/>\n<use xlink:href=\"#s\" transform=\"translate(7,-1) rotate(-98.130102)\"/>\n<use xlink:href=\"#s\" transform=\"translate(7,2) rotate(-74.054604)\"/>\n<use xlink:href=\"#s\" transform=\"translate(5,4) rotate(-51.3401917)\"/>\n</svg>\n"
}
}
}
\define task-undone() <i class="fa fa-square-o"></i>
\define task-done() <i class="fa fa-check-square-o"></i>
\define plat-win() <i class="fa fa-windows"></i>
\define plat-mac() <i class="fa fa-apple"></i>
\define plat-linux() <i class="fa fa-linux"></i>
\define plat-android() <i class="fa fa-android"></i>
\define plat-chrome() <i class="fa fa-chrome"></i>
\define icon-code() <i class="fa fa-code"></i>
\define icon-star-full() <i class="fa fa-star"></i>
\define icon-star-half() <i class="fa fa-star-half-o"></i>
\define icon-star-empty() <i class="fa fa-star-o"></i>
\define icon(name) <i class="fa fa-$name$"></i>
\define es5-compatibility-table()
<<icon "table">> [[ES5 Compatibility Table|https://kangax.github.io/compat-table/es5/]]
\end
\define es6-compatibility-table()
<<icon "table">> [[ES6 Compatibility Table|https://kangax.github.io/compat-table/es6/]]
\end
\define es-next-compatibility-table()
<<icon "table">> [[ES.Next Compatibility Table|https://kangax.github.io/compat-table/es2016plus/]]
\end
\define display-pdf(tiddler)
[img height=500 width=100% [$tiddler$]]
\end
\define .s(_) <strong class="onlyice-strong">$_$</strong>
\define .center(_) <p style="text-align: center">$_$</p>
\define .todo(_)
@@.doc-note
;To-do
: $_$
@@
\end
\define .p1() <span title="重要性" style="font-size: 0.5em; color: #888">重要</span>
\define .p2() <span title="重要性" style="font-size: 0.5em; color: #888">一般</span>
\define .p3() <span title="重要性" style="font-size: 0.5em; color: #888">不重要</span>
alert-background: #ffe476
alert-border: #b99e2f
alert-highlight: #881122
alert-muted-foreground: #b99e2f
background: #fff
blockquote-bar: <<colour muted-foreground>>
button-background:
button-foreground:
button-border:
code-background: #f7f7f9
code-border: #e1e1e8
code-foreground: #dd1144
dirty-indicator: #ff0000
download-background: #34c734
download-foreground: <<colour foreground>>
dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: #fff
dropdown-tab-background: #ececec
dropzone-background: rgba(0,200,0,0.7)
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
foreground: #333353
message-background: #ecf2ff
message-border: #cfd6e6
message-foreground: #547599
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: #999999
modal-footer-background: #f5f5f5
modal-footer-border: #dddddd
modal-header-border: #eeeeee
muted-foreground: #999999
notification-background: #ffffdd
notification-border: #999999
page-background: #ddddff
pre-background: #f5f5f5
pre-border: #cccccc
primary: #5778d8
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: #000000
sidebar-controls-foreground: #ffffff
sidebar-foreground-shadow: rgba(255,255,255, 0.8)
sidebar-foreground: #acacac
sidebar-muted-foreground-hover: #444444
sidebar-muted-foreground: #c0c0c0
sidebar-tab-background-selected: <<colour page-background>>
sidebar-tab-background: <<colour tab-background>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: <<colour tab-divider>>
sidebar-tab-foreground-selected:
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: #444444
sidebar-tiddler-link-foreground: #29296d
site-title-foreground: <<colour tiddler-title-foreground>>
static-alert-foreground: #aaaaaa
tab-background-selected: <<colour background>>
tab-background: #ccccdd
tab-border-selected: #ccccdd
tab-border: #cccccc
tab-divider: #d8d8d8
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: #666666
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #eeeeff
tag-foreground: #000
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
tiddler-controls-foreground-hover: #666666
tiddler-controls-foreground-selected: #444444
tiddler-controls-foreground: #cccccc
tiddler-editor-background: #f8f8f8
tiddler-editor-border-image: #ffffff
tiddler-editor-border: #cccccc
tiddler-editor-fields-even: #e0e8e0
tiddler-editor-fields-odd: #f0f4f0
tiddler-info-background: #ffffff
tiddler-info-border: #dddddd
tiddler-info-tab-background: #ffffff
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: #c0c0c0
tiddler-title-foreground: #5959c0
toolbar-new-button: #5eb95e
toolbar-options-button: rgb(128, 88, 165)
toolbar-save-button: #0e90d2
toolbar-info-button: #0e90d2
toolbar-edit-button: rgb(243, 123, 29)
toolbar-close-button: #dd514c
toolbar-delete-button: #dd514c
toolbar-cancel-button: rgb(243, 123, 29)
toolbar-done-button: #5eb95e
untagged-background: #999999
very-muted-foreground: #888888
<div class="tc-tab-buttons" style="margin-bottom:5px">
<$list filter="[list[$:/StoryList]limit[10]]" history="$:/HistoryList" variable="currentTab">
<$reveal type="match" state="$:/HistoryList!!current-tiddler" text=<<currentTab>>>
<div style="display:inline-block;">
<$button to=<<currentTab>> class="tc-tab-selected" style="margin-right: 0.0em; border-right: 0.0em">
<$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/>
</$button>
<$button message="tm-close-tiddler" param=<<currentTab>> class="tc-tab-selected" style="border-left: 0.0em;">×</$button></div></$reveal>
<$reveal type="nomatch" state="$:/HistoryList!!current-tiddler" text=<<currentTab>>>
<div style="display:inline-block;">
<$button to=<<currentTab>> style="margin-right: 0.0em;" >
<$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/>
</$button><$button message="tm-close-tiddler" param=<<currentTab>>>
×</$button></div></$reveal>
</$list>
</div>
<div class="tc-tab-divider tc-sidebar-tabs-main"></div>
{
"tiddlers": {
"$:/config/codemirror/autocomplete": {
"title": "$:/config/codemirror/autocomplete",
"text": "{\n\t\"Ctrl-Space\": \"autocomplete\"\n}",
"type": "json",
"created": "20210328004023360",
"extend": "extraKeys",
"modified": "20210328004023360"
},
"$:/plugins/tiddlywiki/codemirror/addon/hint/anyword-hint.js": {
"title": "$:/plugins/tiddlywiki/codemirror/addon/hint/anyword-hint.js",
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function (mod) {\n\tif (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n\t\tmod(require(\"../../lib/codemirror\"));\n\telse if (typeof define == \"function\" && define.amd) // AMD\n\t\tdefine([\"../../lib/codemirror\"], mod);\n\telse // Plain browser env\n\t\tmod(CodeMirror);\n})(function (CodeMirror) {\n\t\"use strict\";\n\n\tCodeMirror.registerHelper('hint', 'anyword', function (editor) {\n\t\tvar cur = editor.getCursor();\n\t\tvar curLine = editor.getLine(cur.line);\n\t\tvar start = cur.ch;\n\t\tvar end = start;\n\t\tvar max_length = 30\n\n\t\tvar escapeChars = ['.', ']', '}', '>']\n\t\tvar stopChars = ['[', '{', '|', '\"']\n\n\t\twhile (start) {\n\t\t\tvar ch = curLine.charAt(start - 1)\n\t\t\tif (end - start > max_length || escapeChars.includes(ch)) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tif (!(stopChars.includes(ch))) {\n\t\t\t\tstart--;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar curWord = start !== end && curLine.slice(start, end);\n\t\tif (curLine.charAt(start) == '$') {\n\t\t\treturn {\n\t\t\t\tlist: $tw.wiki.filterTiddlers(`[all[tiddlers]search:title:literal[${curWord}]!prefix[$:/state]]`),\n\t\t\t\tfrom: CodeMirror.Pos(cur.line, start),\n\t\t\t\tto: CodeMirror.Pos(cur.line, end)\n\t\t\t}\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tlist: $tw.wiki.filterTiddlers(`[all[tiddlers]!is[system]!is[shadow]search:title:literal[${curWord}]!prefix[$:/state]]`),\n\t\t\t\tfrom: CodeMirror.Pos(cur.line, start),\n\t\t\t\tto: CodeMirror.Pos(cur.line, end)\n\t\t\t}\n\t\t}\n\t})\n});",
"created": "20210328004232522",
"modified": "20210328010801763",
"module-type": "codemirror",
"type": "application/javascript"
},
"$:/plugins/tiddlywiki/codemirror/addon/hint/show-hint.css": {
"title": "$:/plugins/tiddlywiki/codemirror/addon/hint/show-hint.css",
"text": ".CodeMirror-hints {\n position: absolute;\n z-index: 10;\n overflow: hidden;\n list-style: none;\n\n margin: 0;\n padding: 2px;\n\n -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n border-radius: 3px;\n border: 1px solid silver;\n\n background: white;\n font-size: 90%;\n font-family: monospace;\n\n max-height: 20em;\n overflow-y: auto;\n}\n\n.CodeMirror-hint {\n margin: 0;\n padding: 0 4px;\n border-radius: 2px;\n white-space: pre;\n color: black;\n cursor: pointer;\n}\n\nli.CodeMirror-hint-active {\n background: #08f;\n color: white;\n}\n",
"created": "20210328012141944",
"modified": "20210328012141944",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
},
"$:/plugins/tiddlywiki/codemirror/addon/hint/show-hint.js": {
"title": "$:/plugins/tiddlywiki/codemirror/addon/hint/show-hint.js",
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n! function (t) {\n \"object\" == typeof exports && \"object\" == typeof module ? t(require(\"../../lib/codemirror\")) : \"function\" == typeof define && define.amd ? define([\"../../lib/codemirror\"], t) : t(CodeMirror)\n}(function (W) {\n \"use strict\";\n var I = \"CodeMirror-hint-active\";\n\n function o(t, i) {\n this.cm = t, this.options = i, this.widget = null, this.debounce = 0, this.tick = 0, this.startPos = this.cm.getCursor(\"start\"), this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\n var e = this;\n t.on(\"cursorActivity\", this.activityFunc = function () {\n e.cursorActivity()\n })\n }\n W.showHint = function (t, i, e) {\n if (!i) return t.showHint(e);\n e && e.async && (i.async = !0);\n var n = {\n hint: i\n };\n if (e)\n for (var o in e) n[o] = e[o];\n return t.showHint(n)\n }, W.defineExtension(\"showHint\", function (t) {\n t = function (t, i, e) {\n var n = t.options.hintOptions,\n o = {};\n for (var s in l) o[s] = l[s];\n if (n)\n for (var s in n) void 0 !== n[s] && (o[s] = n[s]);\n if (e)\n for (var s in e) void 0 !== e[s] && (o[s] = e[s]);\n o.hint.resolve && (o.hint = o.hint.resolve(t, i));\n return o\n }(this, this.getCursor(\"start\"), t);\n var i = this.listSelections();\n if (!(1 < i.length)) {\n if (this.somethingSelected()) {\n if (!t.hint.supportsSelection) return;\n for (var e = 0; e < i.length; e++)\n if (i[e].head.line != i[e].anchor.line) return\n }\n this.state.completionActive && this.state.completionActive.close();\n var n = this.state.completionActive = new o(this, t);\n n.options.hint && (W.signal(this, \"startCompletion\", this), n.update(!0))\n }\n }), W.defineExtension(\"closeHint\", function () {\n this.state.completionActive && this.state.completionActive.close()\n });\n var s = window.requestAnimationFrame || function (t) {\n return setTimeout(t, 1e3 / 60)\n },\n c = window.cancelAnimationFrame || clearTimeout;\n\n function B(t) {\n return \"string\" == typeof t ? t : t.text\n }\n\n function K(t, i) {\n for (; i && i != t;) {\n if (\"LI\" === i.nodeName.toUpperCase() && i.parentNode == t) return i;\n i = i.parentNode\n }\n }\n\n function n(o, t) {\n this.completion = o, this.data = t, this.picked = !1;\n var e = this,\n s = o.cm,\n c = s.getInputField().ownerDocument,\n r = c.defaultView || c.parentWindow,\n l = this.hints = c.createElement(\"ul\"),\n i = o.cm.options.theme;\n l.className = \"CodeMirror-hints \" + i, this.selectedHint = t.selectedHint || 0;\n for (var n = t.list, h = 0; h < n.length; ++h) {\n var a = l.appendChild(c.createElement(\"li\")),\n u = n[h],\n f = \"CodeMirror-hint\" + (h != this.selectedHint ? \"\" : \" \" + I);\n null != u.className && (f = u.className + \" \" + f), a.className = f, u.render ? u.render(a, t, u) : a.appendChild(c.createTextNode(u.displayText || B(u))), a.hintId = h\n }\n var p, d, m, g = o.options.container || c.body,\n v = s.cursorCoords(o.options.alignWithWord ? t.from : null),\n y = v.left,\n w = v.bottom,\n H = !0,\n C = 0,\n b = 0;\n g !== c.body && (d = (p = -1 !== [\"absolute\", \"relative\", \"fixed\"].indexOf(r.getComputedStyle(g).position) ? g : g.offsetParent).getBoundingClientRect(), m = c.body.getBoundingClientRect(), C = d.left - m.left - p.scrollLeft, b = d.top - m.top - p.scrollTop), l.style.left = y - C + \"px\", l.style.top = w - b + \"px\";\n var k = r.innerWidth || Math.max(c.body.offsetWidth, c.documentElement.offsetWidth),\n A = r.innerHeight || Math.max(c.body.offsetHeight, c.documentElement.offsetHeight);\n g.appendChild(l);\n var x, T, S = l.getBoundingClientRect(),\n M = S.bottom - A,\n N = l.scrollHeight > l.clientHeight + 1,\n F = s.getScrollInfo();\n 0 < M && (x = S.bottom - S.top, 0 < v.top - (v.bottom - S.top) - x ? (l.style.top = (w = v.top - x - b) + \"px\", H = !1) : A < x && (l.style.height = A - 5 + \"px\", l.style.top = (w = v.bottom - S.top - b) + \"px\", T = s.getCursor(), t.from.ch != T.ch && (v = s.cursorCoords(T), l.style.left = (y = v.left - C) + \"px\", S = l.getBoundingClientRect())));\n var E, O = S.right - k;\n if (0 < O && (S.right - S.left > k && (l.style.width = k - 5 + \"px\", O -= S.right - S.left - k), l.style.left = (y = v.left - O - C) + \"px\"), N)\n for (var P = l.firstChild; P; P = P.nextSibling) P.style.paddingRight = s.display.nativeBarWidth + \"px\";\n return s.addKeyMap(this.keyMap = function (t, n) {\n var o = {\n Up: function () {\n n.moveFocus(-1)\n },\n Down: function () {\n n.moveFocus(1)\n },\n PageUp: function () {\n n.moveFocus(1 - n.menuSize(), !0)\n },\n PageDown: function () {\n n.moveFocus(n.menuSize() - 1, !0)\n },\n Home: function () {\n n.setFocus(0)\n },\n End: function () {\n n.setFocus(n.length - 1)\n },\n Enter: n.pick,\n Tab: n.pick,\n Esc: n.close\n };\n /Mac/.test(navigator.platform) && (o[\"Ctrl-P\"] = function () {\n n.moveFocus(-1)\n }, o[\"Ctrl-N\"] = function () {\n n.moveFocus(1)\n });\n var i = t.options.customKeys,\n s = i ? {} : o;\n\n function e(t, i) {\n var e = \"string\" != typeof i ? function (t) {\n return i(t, n)\n } : o.hasOwnProperty(i) ? o[i] : i;\n s[t] = e\n }\n if (i)\n for (var c in i) i.hasOwnProperty(c) && e(c, i[c]);\n var r = t.options.extraKeys;\n if (r)\n for (var c in r) r.hasOwnProperty(c) && e(c, r[c]);\n return s\n }(o, {\n moveFocus: function (t, i) {\n e.changeActive(e.selectedHint + t, i)\n },\n setFocus: function (t) {\n e.changeActive(t)\n },\n menuSize: function () {\n return e.screenAmount()\n },\n length: n.length,\n close: function () {\n o.close()\n },\n pick: function () {\n e.pick()\n },\n data: t\n })), o.options.closeOnUnfocus && (s.on(\"blur\", this.onBlur = function () {\n E = setTimeout(function () {\n o.close()\n }, 100)\n }), s.on(\"focus\", this.onFocus = function () {\n clearTimeout(E)\n })), s.on(\"scroll\", this.onScroll = function () {\n var t = s.getScrollInfo(),\n i = s.getWrapperElement().getBoundingClientRect(),\n e = w + F.top - t.top,\n n = e - (r.pageYOffset || (c.documentElement || c.body).scrollTop);\n if (H || (n += l.offsetHeight), n <= i.top || n >= i.bottom) return o.close();\n l.style.top = e + \"px\", l.style.left = y + F.left - t.left + \"px\"\n }), W.on(l, \"dblclick\", function (t) {\n var i = K(l, t.target || t.srcElement);\n i && null != i.hintId && (e.changeActive(i.hintId), e.pick())\n }), W.on(l, \"click\", function (t) {\n var i = K(l, t.target || t.srcElement);\n i && null != i.hintId && (e.changeActive(i.hintId), o.options.completeOnSingleClick && e.pick())\n }), W.on(l, \"mousedown\", function () {\n setTimeout(function () {\n s.focus()\n }, 20)\n }), this.scrollToActive(), W.signal(t, \"select\", n[this.selectedHint], l.childNodes[this.selectedHint]), !0\n }\n\n function r(t, i, e, n) {\n var o;\n t.async ? t(i, n, e) : (o = t(i, e)) && o.then ? o.then(n) : n(o)\n }\n o.prototype = {\n close: function () {\n this.active() && (this.cm.state.completionActive = null, this.tick = null, this.cm.off(\"cursorActivity\", this.activityFunc), this.widget && this.data && W.signal(this.data, \"close\"), this.widget && this.widget.close(), W.signal(this.cm, \"endCompletion\", this.cm))\n },\n active: function () {\n return this.cm.state.completionActive == this\n },\n pick: function (t, i) {\n var e = t.list[i],\n n = this;\n this.cm.operation(function () {\n e.hint ? e.hint(n.cm, t, e) : n.cm.replaceRange(B(e), e.from || t.from, e.to || t.to, \"complete\"), W.signal(t, \"pick\", e), n.cm.scrollIntoView()\n }), this.close()\n },\n cursorActivity: function () {\n this.debounce && (c(this.debounce), this.debounce = 0);\n var t = this.startPos;\n this.data && (t = this.data.from);\n var i, e = this.cm.getCursor(),\n n = this.cm.getLine(e.line);\n e.line != this.startPos.line || n.length - e.ch != this.startLen - this.startPos.ch || e.ch < t.ch || this.cm.somethingSelected() || !e.ch || this.options.closeCharacters.test(n.charAt(e.ch - 1)) ? this.close() : ((i = this).debounce = s(function () {\n i.update()\n }), this.widget && this.widget.disable())\n },\n update: function (i) {\n var e, n;\n null != this.tick && (n = ++(e = this).tick, r(this.options.hint, this.cm, this.options, function (t) {\n e.tick == n && e.finishUpdate(t, i)\n }))\n },\n finishUpdate: function (t, i) {\n this.data && W.signal(this.data, \"update\");\n var e = this.widget && this.widget.picked || i && this.options.completeSingle;\n this.widget && this.widget.close(), (this.data = t) && t.list.length && (e && 1 == t.list.length ? this.pick(t, 0) : (this.widget = new n(this, t), W.signal(t, \"shown\")))\n }\n }, n.prototype = {\n close: function () {\n var t;\n this.completion.widget == this && (this.completion.widget = null, this.hints.parentNode.removeChild(this.hints), this.completion.cm.removeKeyMap(this.keyMap), t = this.completion.cm, this.completion.options.closeOnUnfocus && (t.off(\"blur\", this.onBlur), t.off(\"focus\", this.onFocus)), t.off(\"scroll\", this.onScroll))\n },\n disable: function () {\n this.completion.cm.removeKeyMap(this.keyMap);\n var t = this;\n this.keyMap = {\n Enter: function () {\n t.picked = !0\n }\n }, this.completion.cm.addKeyMap(this.keyMap)\n },\n pick: function () {\n this.completion.pick(this.data, this.selectedHint)\n },\n changeActive: function (t, i) {\n var e;\n t >= this.data.list.length ? t = i ? this.data.list.length - 1 : 0 : t < 0 && (t = i ? 0 : this.data.list.length - 1), this.selectedHint != t && ((e = this.hints.childNodes[this.selectedHint]) && (e.className = e.className.replace(\" \" + I, \"\")), (e = this.hints.childNodes[this.selectedHint = t]).className += \" \" + I, this.scrollToActive(), W.signal(this.data, \"select\", this.data.list[this.selectedHint], e))\n },\n scrollToActive: function () {\n var t = this.completion.options.scrollMargin || 0,\n i = this.hints.childNodes[Math.max(0, this.selectedHint - t)],\n e = this.hints.childNodes[Math.min(this.data.list.length - 1, this.selectedHint + t)],\n n = this.hints.firstChild;\n i.offsetTop < this.hints.scrollTop ? this.hints.scrollTop = i.offsetTop - n.offsetTop : e.offsetTop + e.offsetHeight > this.hints.scrollTop + this.hints.clientHeight && (this.hints.scrollTop = e.offsetTop + e.offsetHeight - this.hints.clientHeight + n.offsetTop)\n },\n screenAmount: function () {\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1\n }\n }, W.registerHelper(\"hint\", \"auto\", {\n resolve: function (t, i) {\n var e, c = t.getHelpers(i, \"hint\");\n if (c.length) {\n var n = function (t, n, o) {\n var s = function (t, i) {\n if (!t.somethingSelected()) return i;\n for (var e = [], n = 0; n < i.length; n++) i[n].supportsSelection && e.push(i[n]);\n return e\n }(t, c);\n ! function i(e) {\n if (e == s.length) return n(null);\n r(s[e], t, o, function (t) {\n t && 0 < t.list.length ? n(t) : i(e + 1)\n })\n }(0)\n };\n return n.async = !0, n.supportsSelection = !0, n\n }\n return (e = t.getHelper(t.getCursor(), \"hintWords\")) ? function (t) {\n return W.hint.fromList(t, {\n words: e\n })\n } : W.hint.anyword ? function (t, i) {\n return W.hint.anyword(t, i)\n } : function () {}\n }\n }), W.registerHelper(\"hint\", \"fromList\", function (t, i) {\n var e, n = t.getCursor(),\n o = t.getTokenAt(n),\n s = W.Pos(n.line, o.start),\n c = n;\n o.start < n.ch && /\\w/.test(o.string.charAt(n.ch - o.start - 1)) ? e = o.string.substr(0, n.ch - o.start) : (e = \"\", s = n);\n for (var r = [], l = 0; l < i.words.length; l++) {\n var h = i.words[l];\n h.slice(0, e.length) == e && r.push(h)\n }\n if (r.length) return {\n list: r,\n from: s,\n to: c\n }\n }), W.commands.autocomplete = W.showHint;\n var l = {\n hint: W.hint.auto,\n completeSingle: !0,\n alignWithWord: !0,\n closeCharacters: /[\\s()\\[\\]{};:>,]/,\n closeOnUnfocus: !0,\n completeOnSingleClick: !0,\n container: null,\n customKeys: null,\n extraKeys: null\n };\n W.defineOption(\"hintOptions\", null)\n});",
"created": "20210328012150088",
"modified": "20210328012150088",
"module-type": "codemirror",
"type": "application/javascript"
},
"$:/plugins/tiddlywiki/codemirror/mode/tw5/tw5.css": {
"title": "$:/plugins/tiddlywiki/codemirror/mode/tw5/tw5.css",
"created": "20200815103937889",
"modified": "20210328054714579",
"module-type": "codemirror-theme",
"name": "cmplus",
"tags": "$:/tags/Stylesheet",
"type": "text/vnd.tiddlywiki",
"text": "```\n/*\nTiddlywiki Metadata\n----\nName: $:/plugins/tiddlywiki/codemirror/mode/tw5/tw5.css\n\nAdditional Fields - \nmodule-type: codemirror-theme\nname: cmplus\n*/\n```\n\n.cm-s-cmplus{\n line-height: 1.5em;\n background: <<colour tiddler-editor-background>> !important;\n color: <<colour foreground>> !important;\n}\n\n.cm-s-cmplus .CodeMirror-lines {\n padding: 8px 0;\n}\n\n.cm-s-cmplus .CodeMirror-linenumber {\n color: <<cmcolour linenumber>>;\n}\n\n.cm-s-cmplus .CodeMirror-gutters {\n background-color: <<colour page-background>>;\n padding-right: 10px;\n z-index: 3;\n border: none;\n}\n\n.cm-s-cmplus div.CodeMirror-cursor {\n border-left: 3px solid <<colour very-muted-foreground>>;\n}\n\n.cm-s-cmplus .CodeMirror-activeline-background {\n background: <<colour tiddler-editor-fields-even>>;\n}\n\n.cm-s-cmplus .CodeMirror-selected {\n background: <<cmcolour selected>> !important;\n}\n\n.cm-s-cmplus .cm-comment {\n font-style: italic;\n color: <<colour muted-foreground>>;\n}\n\n.cm-s-cmplus .CodeMirror-matchingbracket {\n text-decoration: underline;\n color: <<cmcolour matching-bracket>> !important;\n}\n\n.cm-s-cmplus .cm-strikethrough {\n text-decoration-color: <<colour very-muted-foreground>>; \n}\n\n.cm-s-cmplus .cm-underlined {\n text-decoration-line: underline;\n text-decoration-style: solid;\n text-decoration-color: <<colour very-muted-foreground>>;\n}\n\n.cm-s-cmplus .cm-superscript {\n vertical-align: super;\n font-size: 0.7em;\n line-height: 0.1em;\n}\n\n.cm-s-cmplus .cm-subscript {\n font-size: 0.7em;\n line-height: 0.5;\n}\n\n.cm-s-cmplus .cm-macro {\n color: <<cmcolour macro>>;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\n.cm-s-cmplus .cm-keyword {\n color: <<cmcolour keyword>>;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n font-weight: 600;\n}\n\n.cm-s-cmplus .cm-quote {\n font-style: italic;\n padding-left: 0.6em;\n border-left: <<cmcolour quote>> solid 0.2em;\n}\n\n.cm-s-cmplus .cm-hr {\n color: <<cmcolour hr>>;\n}\n\n.cm-s-cmplus .cm-h1 {\n color: <<cmcolour h1>>;\n font-weight: 700;\n font-size: 1.383em;\n line-height: 1.802em;\n}\n\n.cm-s-cmplus .cm-h2 {\n color: <<cmcolour h2>>;\n font-weight: 600;\n font-size: 1.296em;\n line-height: 1.602em;\n}\n\n.cm-s-cmplus .cm-h3 {\n color: <<cmcolour h3>>;\n font-weight: 500;\n font-size: 1.215em;\n line-height: 1.424em;\n}\n\n.cm-s-cmplus .cm-h4 {\n color: <<cmcolour h4>>;\n font-weight: 400;\n font-size: 1.138em;\n line-height: 1.266em;\n}\n\n.cm-s-cmplus .cm-h5 {\n color: <<cmcolour h5>>;\n font-weight: 400;\n font-size: 1.067em;\n line-height: 1.125em;\n}\n\n.cm-s-cmplus .cm-h6 {\n color: <<cmcolour h6>>;\n font-weight: 400;\n}\n\n.cm-s-cmplus .cm-link {\n color: <<cmcolour link>>;\n text-decoration: none;\n font-weight: 600;\n}\n\n.cm-s-cmplus .cm-internallink {\n color: <<cmcolour internallink>>;\n font-weight:600;\n}\n\n.cm-s-cmplus .cm-externallink {\n color: <<cmcolour externallink>>;\n text-decoration: underline;\n}\n\n.cm-s-cmplus .cm-transclude {\n color: <<cmcolour transclude>>;\n}\n\n.cm-s-cmplus .cm-pre {\n color: <<cmcolour pre>>;\t\t\n font-family: {{$:/plugins/adithyab/cmplus/settings##monospace-font}};\n}\n\n.cm-s-cmplus .cm-monospace {\n color: <<cmcolour monospace>>;\n font-family: {{$:/plugins/adithyab/cmplus/settings##monospace-font}};\n}\n\n.cm-s-cmplus .cm-list1 {\n color: <<cmcolour list1>>;\n padding-left: 1em;\n padding-right: 0.5em;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\n.cm-s-cmplus .cm-list2 {\n color: <<cmcolour list2>>;\n padding-left: 2em;\n padding-right: 0.5em;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\n.cm-s-cmplus .cm-list3 {\n color: <<cmcolour list3>>;\n padding-left: 3em;\n padding-right: 0.5em;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\n.cm-s-cmplus .cm-list4 {\n color: <<cmcolour list4>>;\n padding-left: 4em;\n padding-right: 0.5em;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\n.cm-s-cmplus .cm-list5 {\n color: <<cmcolour list5>>;\n padding-left: 5em;\n padding-right: 0.5em;\n font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}"
},
"$:/plugins/tiddlywiki/codemirror/mode/tw5/tw5.js": {
"title": "$:/plugins/tiddlywiki/codemirror/mode/tw5/tw5.js",
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/***\n\n|''Name''|tw5.js|\n|''Description''|Enables TiddlyWikiy syntax highlighting using CodeMirror|\n|''Original Contributor''|PMario|\n|''Author''|[[adithya-badidey|https://github.com/adithya-badidey]]|\n|''Version''|0.1.8|\n|''Status''|''stable''|\n|''Source''|[[GitHub|https://github.com/adithya-badidey/TW5-codemirror-plus]]|\n|''Documentation''|https://codemirror.tiddlyspace.com/|\n|''License''|[[MIT License|http://www.opensource.org/licenses/mit-license.php]]|\n|''Requires''|codemirror.js|\n|''Keywords''|syntax highlighting color code mirror codemirror|\n\n!! Tiddlywiki Metadata\nName: $:/plugins/tiddlywiki/codemirror/mode/tw5/tw5.js\nType: application/javascript\nAdditional Field:\nmodule-type: codemirror\n \nInfo: CoreVersion parameter is needed for TiddlyWiki only!\n\n***/\n\n(function (mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function (CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineMode(\"tiddlywiki5\", function () {\n // Tokenizer\n var textwords = {};\n\n var keywords = {\n \"changecount\": true, \"colour\": true,\n \"colour-picker\": true, \"contrastcolour\": true,\n \"copy-to-clipboard\": true, \"csvtiddlers\": true,\n \"datauri\": true, \"dumpvariables\": true,\n \"image-picker\": true, \"jsontiddler\": true,\n \"jsontiddlers\": true, \"lingo\": true,\n \"list-links\": true, \"list-links-draggable\": true,\n \"list-tagged-draggable\": true, \"list-thumbnails\": true,\n \"makedatauri\": true, \"now\": true,\n \"qualify\": true, \"resolvepath\": true,\n \"box-shadow\": true, \"filter\": true,\n \"transition\": true, \"background-linear-gradient\": true,\n \"transform-origin\": true, \"toc\": true,\n \"toc-expandable\": true, \"toc-selective-expandable\": true,\n \"toc-tabbed-internal-nav\": true, \"toc-tabbed-external-nav\": true,\n \"tabs\": true, \"tag\": true,\n \"tag-picker\": true, \"tag-pill\": true,\n \"thumbnail\": true, \"timeline\": true,\n \"tree\": true, \"unusedtitle\": true,\n \"version\": true\n };\n\n var isSpaceName = /[\\w_\\-]/i,\n reHR = /^\\-\\-\\-\\-+$/, // <hr>\n reBlockQuote = /^<<</,\n rePreStart = /^```$/;\n\n function chain(stream, state, f) {\n state.tokenize = f;\n return f(stream, state);\n }\n\n function tokenBase(stream, state) {\n var sol = stream.sol(), // sol() -> Returns true only if the stream is at the start of the line.\n ch = stream.peek(); // Returns the next character in the stream without advancing it. Will return a null at the end of the line.\n\n // check start of blocks\n if (sol && /[<\\/\\*{}\\-`]/.test(ch)) { //is at the start of a line and the next char is not\n if (stream.match(reBlockQuote)) {\n return chain(stream, state, twTokenQuote);\n }\n \n if (stream.match(reHR))\n return 'hr';\n\n if (stream.match(rePreStart))\n return chain(stream, state, twTokenPre);\n }\n\n stream.next();\n if (sol && /[\\/\\*!#;:>|]/.test(ch)) {\n if (ch == \"!\") { // tw header\n var count = 1;\n while (stream.eat('!'))\n count++;\n stream.skipToEnd();\n return \"h\" + count;\n }\n\n if (ch == \"*\" || ch == \"#\") { // tw list\n var count = 1;\n while (stream.eat('*') || stream.eat('#'))\n count++;\n return \"list\" + count;\n }\n if (ch == \";\") { // definition list, term\n stream.eatWhile(';');\n return \"list1\";\n }\n if (ch == \":\") { // definition list, description\n stream.eatWhile(':');\n return \"list2\";\n }\n if (ch == \">\") { // single line quote\n stream.eatWhile(\">\");\n return \"quote\";\n }\n if (ch == '|')\n return 'header';\n }\n\n // rudimentary html:// file:// link matching. TW knows much more ...\n if (/[hf]/i.test(ch) &&\n /[ti]/i.test(stream.peek()) &&\n stream.match(/\\b(ttps?|tp|ile):\\/\\/[\\-A-Z0-9+&@#\\/%?=~_|$!:,.;]*[A-Z0-9+&@#\\/%=~_|$]/i, true))\n return \"externallink\";\n\n if (ch == '`') { //\n return chain(stream, state, twTokenMonospace);\n }\n\n if (ch == \"/\" && stream.eat(\"/\")) { //\n return chain(stream, state, twTokenEm);\n }\n\n if (ch == \"{\" && stream.eat(\"{\")) \n return chain(stream, state, twTranslclude);\n\n if (ch == \"[\" && stream.eat(\"[\")) // tw InternalLink\n return chain(stream, state, twInternalLink);\n\n if (ch == \"_\" && stream.eat(\"_\")) // tw underline\n return chain(stream, state, twTokenUnderline);\n\n if (ch == \"^\" && stream.eat(\"^\"))\n return chain(stream, state, twSuperscript);\n\n if (ch == \",\" && stream.eat(\",\")) // tw underline\n return chain(stream, state, twSubscript);\n\n // tw strikethrough\n if (ch == \"~\" && stream.eat(\"~\")) {\n return chain(stream, state, twTokenStrike);\n }\n\n if (ch == \"'\" && stream.eat(\"'\")) // tw bold\n return chain(stream, state, twTokenStrong);\n\n if (ch == \"<\" && stream.eat(\"<\")) // tw macro\n return chain(stream, state, twTokenMacro);\n\n return null\n }\n\n // // tw invisible comment\n // function twTokenComment(stream, state) {\n // var maybeEnd = false, ch;\n // while (ch = stream.next()) {\n // if (ch == \"/\" && maybeEnd) {\n // state.tokenize = tokenBase;\n // break;\n // }\n // maybeEnd = (ch == \"%\");\n // }\n // return \"comment\";\n // }\n\n // tw strong / bold\n function twTokenStrong(stream, state) {\n var maybeEnd = false,\n ch;\n while (ch = stream.next()) {\n if (ch == \"'\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"'\");\n }\n return \"strong\";\n }\n\n function twTokenMonospace(stream, state) {\n var ch;\n while (ch = stream.next()) {\n if (ch == \"`\") {\n state.tokenize = tokenBase;\n break;\n }\n }\n return \"monospace\";\n }\n\n // tw em / italic\n function twTokenEm(stream, state) {\n var maybeEnd = false,\n ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"/\");\n }\n return \"em\";\n }\n\n // tw transclusions\n function twTranslclude(stream, state) {\n var maybeEnd = false,\n ch;\n while (ch = stream.next()) {\n if (ch == \"}\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"}\");\n }\n return \"transclude\";\n }\n\n // tw internal links\n function twInternalLink(stream, state) {\n if (stream.current() == '[[') {\n state.pastDivider = false;\n // console.log(\"Start of link\");\n return 'link';\n }\n if (stream.peek() == ']') {\n stream.next()\n if(stream.next() == ']') {\n state.tokenize = tokenBase;\n // console.log(\"End of link\");\n return 'link';\n }\n }\n var pastDivider = state.pastDivider,\n ch;\n while (ch = stream.peek()) {\n // console.log(\"Peeking :\" + ch);\n if (!pastDivider && ch=='|') {\n stream.next();\n state.pastDivider = true;\n // console.log(\"Past the divider\");\n return 'link';\n }\n if (ch == \"]\" && stream.peek() == \"]\") {\n // console.log(\"Found end of link\");\n return \"internallink\";\n }\n ch = stream.next();\n if (/[hf]/i.test(ch) &&\n /[ti]/i.test(stream.peek()) &&\n stream.match(/\\b(ttps?|tp|ile):\\/\\/[\\-A-Z0-9+&@#\\/%?=~_|$!:,.;]*[A-Z0-9+&@#\\/%=~_|$]/i, true)) {\n // console.log(\"Found external link\");\n return \"externallink\";\n }\n stream.eatWhile(/[^|\\]]/);\n }\n return null;\n }\n\n // tw underlined text\n function twTokenUnderline(stream, state) {\n var maybeEnd = false,\n ch;\n while (ch = stream.next()) {\n if (ch == \"_\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"_\");\n }\n return \"underlined\";\n }\n\n function twSubscript(stream, state) {\n var maybeEnd = false, ch;\n\n while (ch = stream.next()) {\n if (ch == \",\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \",\");\n }\n return \"subscript\";\n }\n\n function twSuperscript(stream, state) {\n var maybeEnd = false, ch;\n\n while (ch = stream.next()) {\n if (ch == \"^\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"^\");\n }\n return \"superscript\";\n }\n\n function twTokenStrike(stream, state) {\n var maybeEnd = false, ch;\n\n while (ch = stream.next()) {\n if (ch == \"~\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"~\");\n }\n return \"strikethrough\";\n }\n\n function twTokenPre(stream, state) {\n var sol = stream.sol(), maybeEnd = false, surelyend = false, ch;\n while (ch = stream.next()) {\n if (ch == '`' && surelyend && stream.eol()) {\n stream.next();\n state.tokenize = tokenBase;\n return \"pre\";\n }\n surelyend = (maybeEnd && (ch == '`'));\n maybeEnd = (sol && ch == '`');\n sol = stream.sol();\n }\n return \"pre\";\n }\n\n function twTokenQuote(stream, state) {\n var sol = stream.sol(), maybeEnd = false, surelyend = false, ch;\n while (ch = stream.next()) {\n if (ch == '<' && surelyend) {\n stream.skipToEnd();\n state.tokenize = tokenBase;\n return \"quote\";\n }\n surelyend = (maybeEnd && (ch == '<'));\n maybeEnd = (sol && ch == '<');\n sol = stream.sol();\n }\n return \"quote\";\n }\n\n\n function twTokenMacro(stream, state) {\n if (stream.current() == '<<') {\n return 'macro';\n }\n\n var ch = stream.next();\n if (!ch) {\n state.tokenize = tokenBase;\n return null;\n }\n if (ch == \">\") {\n if (stream.peek() == '>') {\n stream.next();\n state.tokenize = tokenBase;\n return \"macro\";\n }\n }\n\n stream.eatWhile(/[\\w\\$_]/);\n return keywords.propertyIsEnumerable(stream.current()) ? \"keyword\" : \"macro\"\n }\n\n // Interface\n return {\n startState: function () {\n return { tokenize: tokenBase };\n },\n\n token: function (stream, state) {\n if (stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n return style;\n }\n };\n });\n\n CodeMirror.defineMIME(\"text/vnd.tiddlywiki\", \"tiddlywiki5\");\n});",
"created": "20200818164318584",
"modified": "20210327052450347",
"module-type": "codemirror",
"revision": "1",
"type": "application/javascript"
},
"$:/plugins/adithyab/cmplus/macros": {
"title": "$:/plugins/adithyab/cmplus/macros",
"created": "20210328020051916",
"modified": "20210328053732117",
"tags": "$:/tags/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define cmcolour(name)\n{{$:/plugins/adithyab/cmplus/settings##$name$}}\n\\end"
},
"$:/plugins/adithyab/cmplus/readme": {
"title": "$:/plugins/adithyab/cmplus/readme",
"created": "20210328060842133",
"modified": "20210328060929665",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "!! TW5 CodeMirrorPlus\nTowards making a better editor for TiddlyWiki5.\n"
},
"$:/plugins/adithyab/cmplus/settings": {
"title": "$:/plugins/adithyab/cmplus/settings",
"text": "monospace-font:monospace,\"Courier New\"\nselected:rgba(100,100,100,0.3)\nlinenumber:<<colour primary>>\nkeyword:<<colour code-foreground>>\nmacro:<<colour code-foreground>>\nquote:<<colour primary>>\npre:<<colour foreground>>\nexternallink:<<colour external-link-foreground>>\ninternallink:<<colour tiddler-title-foreground>>\nlink:<<colour tiddler-title-foreground>>\ntransclude:<<colour tiddler-title-foreground>>\nmonospace:<<colour foreground>>\nlist1:<<colour primary>>\nlist2:<<colour primary>>\nlist3:<<colour primary>>\nlist4:<<colour primary>>\nlist5:<<colour primary>>\nlist6:<<colour primary>>\nh1:<<colour primary>>\nh2:<<colour primary>>\nh3:<<colour primary>>\nh4:<<colour primary>>\nh5:<<colour primary>>\nh6:<<colour primary>>\nhr:<<colour primary>>",
"type": "application/x-tiddler-dictionary",
"created": "20210328015904035",
"modified": "20210328054754059",
"tags": ""
}
}
}
{
"tiddlers": {
"$:/plugins/bj/storytabs/license": {
"title": "$:/plugins/bj/storytabs/license",
"text": "The MIT License (MIT)\n\nCopyright (c) 2015 Jeffrey Wikinson aka Buggyj\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
},
"$:/plugins/bj/storytabs/readme": {
"title": "$:/plugins/bj/storytabs/readme",
"text": "Facilitates easier navigating between open tiddlers. Links to open tiddlers appear above top of the story river . If 'story mode' is set to zooming (see in appearance tab in the $:/ControlPanel tiddler) then the open tiddlers appear in tabs. The top links are controlled from the 'setting' tab in the $:/ControlPanel tiddler.\n"
},
"$:/plugin/bj/storytabs": {
"title": "$:/plugin/bj/storytabs",
"type": "text/vnd.tiddlywiki",
"text": "<div class=\"tc-tab-buttons\" >\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" variable=\"currentTab\">\n<$reveal type=\"match\" state=\"$:/HistoryList!!current-tiddler\" text=<<currentTab>>>\n<div style=\"display:inline-block;\">\n<$button to=<<currentTab>> class=\"tc-tab-selected\" style=\"margin-right: 0.0em; border-right: 0.0em\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$button>\n<$button message=\"tm-close-tiddler\" param=<<currentTab>> class=\"tc-tab-selected\" style=\"border-left: 0.0em;\">×</$button></div></$reveal>\n<$reveal type=\"nomatch\" state=\"$:/HistoryList!!current-tiddler\" text=<<currentTab>>>\n<div style=\"display:inline-block;\">\n<$button to=<<currentTab>> style=\"margin-right: 0.0em;\" >\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$button><$button message=\"tm-close-tiddler\" param=<<currentTab>>>\n×</$button></div></$reveal>\n</$list>\n</div>\n\n"
},
"$:/bj/storytabs/storytabs-caller": {
"tags": "$:/tags/AboveStory",
"title": "$:/bj/storytabs/storytabs-caller",
"type": "text/vnd.tiddlywiki",
"text": "<$transclude tiddler=\"$:/plugin/bj/storytabs\" mode=\"inline\"/>\n\n\n"
},
"$:plugins/bj/ui/ControlPanel/Settings/StoryTabs": {
"caption": "Display tabs of Open Tids",
"tags": "$:/tags/ControlPanel/Settings",
"title": "$:plugins/bj/ui/ControlPanel/Settings/StoryTabs",
"type": "text/vnd.tiddlywiki",
"text": "<$checkbox tiddler=\"$:/plugin/bj/storytabs\" tag=\"$:/tags/AboveStory\" > Enable Story Tabs </$checkbox>\n\n\n"
}
}
}
.matched {background-color:#ffc;}
.tw-context {
border:0px solid #eee;background-color:#eee;
word-break: break-all; word-wrap: break-word;}
{
"tiddlers": {
"$:/plugins/danielo515/ContextPlugin/widgets/context.js": {
"created": "20140418153435777",
"creator": "danielo",
"modified": "20140530231943517",
"modifier": "danielo",
"module-type": "widget",
"title": "$:/plugins/danielo515/ContextPlugin/widgets/context.js",
"type": "application/javascript",
"text": "/*\\\\\ntitle: $:/core/modules/widgets/danielo/context-widget.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar contextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\ncontextWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\ncontextWidget.prototype.render = function(parent,nextSibling) {\n // Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n \n if(this.term && this.term.length>3){\n \n this.createRegexp();\n var matches = this.executeRegexp();\n\t if(matches.length > 0){ \n this.domNode = this.document.createElement(this.element);\n this.domNode.className=\"tw-context\";\n this.composeResults( matches ); //this appends to domNode \n \t// Insert element\n \tparent.insertBefore(this.domNode,nextSibling);\n \tthis.renderChildren(this.domNode,null);\n\t \tthis.domNodes.push(this.domNode);\n }\n }\n\t\n};\n\n/*\nCompute the internal state of the widget\n*/\ncontextWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n this.matchedClass = this.getAttribute(\"matchClass\",\"matched\");\n\tthis.tiddler = this.getAttribute( \"tiddler\",this.getVariable(\"currentTiddler\") );\n this.term = this.getAttribute(\"term\",this.getAttribute(\"searchTerm\"));\n\tthis.contextLength = this.getAttribute(\"length\",50);\n this.before = this.getAttribute(\"before\",this.contextLength);\n this.after = this.getAttribute(\"after\",this.contextLength);\n this.maxMatches = this.getAttribute(\"maxMatches\",10);\n this.element = this.getAttribute(\"element\",\"pre\");\n\tthis.makeChildWidgets();\n};\n\n /*Create the regular expression*/\ncontextWidget.prototype.createRegexp = function()\n{\n var regString = \"(\\\\w+[\\\\s\\\\S]{0,#before#})?(#term#)([\\\\s\\\\S]{0,#after#}\\\\w+)?\";\n\n var regString = regString.replace(\"#before#\",this.before).replace(\"#term#\", $tw.utils.escapeRegExp(this.term) ) .replace(\"#after#\",this.after);\n this.regexp = new RegExp(regString,\"ig\");\n //console.log(regString);\n};\n/*\nexecute the regular expresion\n*/\ncontextWidget.prototype.executeRegexp = function()\n{\n var text = this.wiki.getTiddlerText(this.tiddler), match,results = new Array();\n while( (match = this.regexp.exec( text ) ) && (results.length < this.maxMatches) )\n { results.push(match) }\n //console.log(\"matches\",results);\n return results;\n};\n\n/*\ncompose the results\nmatches : array of match objects from regular expression execute\n*/\ncontextWidget.prototype.composeResults = function(matches){\n var result=[], self=this, node = this.domNode,\n dots = textNode(\"...\\n\"),\n span = matchedNode( this.term );\n\n for(var i=0; i < matches.length; i++){\n processMatch( matches[i] );\n }\n \n function processMatch(match){\n if( match.index !== 0) node.appendChild( dots.cloneNode(true) );\n for( var i=1;i<match.length;i++ ) {//match[0] full matched text (all groups together)\n if( match[i] ) {\n if ( match[i].toLowerCase() == self.term.toLowerCase() ) \n node.appendChild( match[i] == self.term ? span.cloneNode(true) : matchedNode( match[i] ) )\n else\n node.appendChild( textNode( match[i]) )\n }\n }\n if( match.index + match[0].length < match.input.length) node.appendChild( dots.cloneNode(true) );\n }\n \n function textNode(text){ return self.document.createTextNode(text) }\n function matchedNode(text) { \n var node = self.document.createElement(\"span\"); node.appendChild( textNode(text) ); node.className = self.matchedClass;\n return node }\n \n};\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\ncontextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.term || changedAttributes.length || changedAttributes.matchedClass) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n return this.refreshChildren(changedTiddlers);\n};\n\nexports.context = contextWidget;\n\n})();"
},
"$:/plugins/danielo515/ContextPlugin/visualizer": {
"title": "$:/plugins/danielo515/ContextPlugin/visualizer",
"tags": "$:/tags/SearchResults",
"caption": "Context",
"text": "<$list filter=\"[!is[system]search{$:/temp/search}sort[title]limit[250]]\">\r\n {{!!title||$:/core/ui/ListItemTemplate}}\r\n <$context term={{$:/temp/search}} />\r\n</$list>\r\n"
},
"$:/plugins/danielo515/ContextPlugin/Stylesheet/results": {
"created": "20140529162823729",
"tags": "$:/tags/Stylesheet contextPlugin",
"title": "$:/plugins/danielo515/ContextPlugin/Stylesheet/results",
"type": "text/css",
"text": ".matched{background-color:yellow}\n.tw-context {/*border:1px solid;\n /*word-break: break-all; word-wrap: break-word*/}"
},
"$:/plugins/danielo515/ContextPlugin/Caption": {
"created": "20140530174219263",
"tags": "contextPlugin",
"title": "$:/plugins/danielo515/ContextPlugin/Caption",
"type": "text/vnd.tiddlywiki",
"text": "Context search"
},
"Context Search": {
"caption": "{{$:/plugins/danielo515/ContextPlugin/Caption}}",
"created": "20140530173407542",
"tags": "$:/tags/AdvancedSearch",
"title": "Context Search",
"type": "text/vnd.tiddlywiki",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tw-search\"><$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/><$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\"> <$link to=\"\" class=\"btn-invisible\">{{$:/core/images/close-button}}</$link></$reveal></div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<div class=\"tw-search-results\">\n\n<<lingo Standard/Matches>>\n\n<$list filter=\"[!is[system]search{$:/temp/advancedsearch}sort[title]limit[250]]\">\n{{!!title||$:/core/ui/ListItemTemplate}}\n<$context term={{$:/temp/advancedsearch}}/>\n</$list>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/plugins/danielo515/ContextPlugin/readme": {
"title": "$:/plugins/danielo515/ContextPlugin/readme",
"text": "!Usage\n\nAfter installing the plugin you will have a new tab in [[$:/AdvancedSearch]] called [[Context Search]]. If you want this functionality in other places you will have to edit the desired tiddler yourself adding the ''context widget''. For more details about using the widget see the section below.\n\n!!Using the widget\n\nThe very basic usage of the widget is the following:\n\n```\r\n<$context term=\"lorem\"/>\r\n```\r\nWhich will render as:\r\n<$context term=\"lorem\"/>\n\nThe widgets will search inside the current tiddler by default. Because that you see the same content twice here. This example is not very useful. Other more meaningful would be:\n\n```\r\n<$list filter=\"[search{$:/temp/advancedsearch}sort[title]limit[250]]\">\r\n{{!!title||$:/core/ui/ListItemTemplate}}\r\n<$context term={{$:/temp/advancedsearch}}/>\r\n</$list>\r\n```\n\nThat will search for tiddlers containing the text specified in [[$:/temp/advancedsearch]] and will display a link to the matching tiddlers plus a preview of the matching content. Something very similar is used in [[Context Search]]. Below you can find a complete list of parameters and their default values.\n\n|! parameter |! description | !default |\r\n| term | The term you want to search ||\r\n| searchTerm | An alias for the previous one ||\r\n| tiddler | The tiddler's name to look into | current tiddler |\r\n| length | Number of context characters to show | 50 |\r\n| before | Number of characters before the matched term to show | the value of the length parameter |\r\n| after | Number of characters after the matched term to show | the value of the length parameter |\r\n| maxMatches | maximun number of matched elements to show. Incrementing this can cause several performance issues | 10 |\r\n| element | Node element to create. This element will contain the results of the search. If you want to style it its class is `tw-context` | `<pre>` |\r\n| matchClass | The css class to assign to the matched terms in the results. This is used to highlight the results | matched |\n\n!Customizing the output\r\nThere are not many ways to customize the output of this widget. You can specify ''what type of node you want to create'' to wrap the results (div,span...). The default is `<pre>`. This container is created with the class `tw-context` so you can easily apply styles to it. Something similar happens to the ''highlighted'' words. You can specify the name of the class to assign to it and also you can apply styles to that class.\n\nA very basic example of customization could be:\n\n# Create a tiddler, for example [[$/plugins/danielo515/context/css]]\r\n# Paste the following text or any css rule you want: \"\"\"\n\n<pre>\r\n.matched{background-color:yellow}\r\n.tw-context {\r\n border:1px solid blue;\r\n word-break: break-all; word-wrap: break-word;}\r\n</pre>\r\n\"\"\"\r\n# Tag it with `$:/tags/stylesheet`\r\n# Save the tiddler"
}
}
}
.matched{background-color:yellow}
.tw-context {/*border:1px solid;
/*word-break: break-all; word-wrap: break-word*/}
/*\\
title: $:/core/modules/widgets/danielo/context-widget.js
type: application/javascript
module-type: widget
Edit-text widget
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tc: false */
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
var contextWidget = function(parseTreeNode,options) {
this.initialise(parseTreeNode,options);
};
/*
Inherit from the base widget class
*/
contextWidget.prototype = new Widget();
/*
Render this widget into the DOM
*/
contextWidget.prototype.render = function(parent,nextSibling) {
// Save the parent dom node
this.parentDomNode = parent;
// Compute our attributes
this.computeAttributes();
// Execute our logic
this.execute();
if(this.term && this.term.length>3){
this.createRegexp();
var matches = this.executeRegexp();
if(matches.length > 0){
this.domNode = this.document.createElement(this.element);
this.domNode.className="tw-context";
this.composeResults( matches ); //this appends to domNode
// Insert element
parent.insertBefore(this.domNode,nextSibling);
this.renderChildren(this.domNode,null);
this.domNodes.push(this.domNode);
}
}
};
/*
Compute the internal state of the widget
*/
contextWidget.prototype.execute = function() {
// Get the parameters from the attributes
this.matchedClass = this.getAttribute("matchClass","matched");
this.tiddler = this.getAttribute( "tiddler",this.getVariable("currentTiddler") );
this.term = this.getAttribute("term",this.getAttribute("searchTerm"));
this.contextLength = this.getAttribute("length",50);
this.before = this.getAttribute("before",this.contextLength);
this.after = this.getAttribute("after",this.contextLength);
this.maxMatches = this.getAttribute("maxMatches",10);
this.element = this.getAttribute("element","pre");
this.makeChildWidgets();
};
/*Create the regular expression*/
contextWidget.prototype.createRegexp = function()
{
var regString = "(\\w+[\\s\\S]{0,#before#})?(#term#)([\\s\\S]{0,#after#}\\w+)?";
var regString = regString.replace("#before#",this.before).replace("#term#", $tw.utils.escapeRegExp(this.term) ) .replace("#after#",this.after);
this.regexp = new RegExp(regString,"ig");
//console.log(regString);
};
/*
execute the regular expresion
*/
contextWidget.prototype.executeRegexp = function()
{
var text = this.wiki.getTiddlerText(this.tiddler), match,results = new Array();
while( (match = this.regexp.exec( text ) ) && (results.length < this.maxMatches) )
{ results.push(match) }
//console.log("matches",results);
return results;
};
/*
compose the results
matches : array of match objects from regular expression execute
*/
contextWidget.prototype.composeResults = function(matches){
var result=[], self=this, node = this.domNode,
dots = textNode("...\n"),
span = matchedNode( this.term );
for(var i=0; i < matches.length; i++){
processMatch( matches[i] );
}
function processMatch(match){
if( match.index !== 0) node.appendChild( dots.cloneNode(true) );
for( var i=1;i<match.length;i++ ) {//match[0] full matched text (all groups together)
if( match[i] ) {
if ( match[i].toLowerCase() == self.term.toLowerCase() )
node.appendChild( match[i] == self.term ? span.cloneNode(true) : matchedNode( match[i] ) )
else
node.appendChild( textNode( match[i]) )
}
}
if( match.index + match[0].length < match.input.length) node.appendChild( dots.cloneNode(true) );
}
function textNode(text){ return self.document.createTextNode(text) }
function matchedNode(text) {
var node = self.document.createElement("span"); node.appendChild( textNode(text) ); node.className = self.matchedClass;
return node }
};
/*
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
contextWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.tiddler || changedAttributes.term || changedAttributes.length || changedAttributes.matchedClass) {
this.refreshSelf();
return true;
}
return this.refreshChildren(changedTiddlers);
};
exports.context = contextWidget;
})();
{
"tiddlers": {
"$:/plugins/flibbles/relink/js/bulkops.js": {
"text": "/*\\\nmodule-type: startup\n\nReplaces the relinkTiddler defined in $:/core/modules/wiki-bulkops.js\n\nThis is a startup instead of a wikimethods module-type because it's the only\nway to ensure this runs after the old relinkTiddler method is applied.\n\n\\*/\n(function(){\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nexports.name = \"redefine-relinkTiddler\";\nexports.synchronous = true;\n// load-modules is when wikimethods are applied in\n// ``$:/core/modules/startup/load-modules.js``\nexports.after = ['load-modules'];\n\nexports.startup = function() {\n\t$tw.Wiki.prototype.relinkTiddler = relinkTiddler;\n};\n\n/** Walks through all relinkable tiddlers and relinks them.\n * This replaces the existing function in core Tiddlywiki.\n */\nfunction relinkTiddler(fromTitle, toTitle, options) {\n\tvar self = this;\n\tvar failures = [];\n\tvar records = this.getRelinkReport(fromTitle, toTitle, options);\n\tfor (var title in records) {\n\t\tvar entries = records[title];\n\t\tvar changes = Object.create(null);\n\t\tvar update = false;\n\t\tfor (var field in entries) {\n\t\t\tvar entry = entries[field];\n\t\t\tlanguage.eachImpossible(entry, function() {\n\t\t\t\tfailures.push(title);\n\t\t\t});\n\t\t\tlanguage.logAll(entry, title, fromTitle, toTitle, options);\n\t\t\tif (entry && entry.output) {\n\t\t\t\tchanges[field] = entry.output;\n\t\t\t\tupdate = true;\n\t\t\t}\n\t\t}\n\t\t// If any fields changed, update tiddler\n\t\tif (update) {\n\t\t\tvar tiddler = this.getTiddler(title);\n\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,changes,self.getModificationFields())\n\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\tself.addTiddler(newTiddler);\n\t\t}\n\t};\n\tif (failures.length > 0) {\n\t\tvar options = $tw.utils.extend(\n\t\t\t{ variables: {to: toTitle, from: fromTitle},\n\t\t\t wiki: this},\n\t\t\toptions );\n\t\tlanguage.reportFailures(failures, options);\n\t}\n};\n\n})();\n",
"module-type": "startup",
"title": "$:/plugins/flibbles/relink/js/bulkops.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/language.js": {
"text": "/*\\\nmodule-type: library\n\nThis handles all logging and alerts Relink emits.\n\n\\*/\n\nvar prettylink = require(\"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js\");\nvar Placeholder = require(\"$:/plugins/flibbles/relink/js/utils/placeholder.js\");\n\nexports.eachImpossible = function(rootEntry, method) {\n\tif (rootEntry.eachChild) {\n\t\trootEntry.eachChild(function(child) {\n\t\t\texports.eachImpossible.call(this, child, method);\n\t\t});\n\t}\n\tif (rootEntry.impossible) {\n\t\tmethod(rootEntry);\n\t}\n};\n\nexports.logAll = function(entry, title, from, to, options) {\n\tvar raw = exports.log[entry.name];\n\tif (entry.impossible) {\n\t\treturn;\n\t}\n\tif (raw) {\n\t\texports.logRelink(raw, entry, title, from, to, options);\n\t\treturn;\n\t}\n\tif (entry.eachChild) {\n\t\tentry.eachChild(function(child) {\n\t\t\texports.logAll(child, title, from, to, options);\n\t\t});\n\t}\n};\n\nexports.logRelink = function(raw, args, title, from, to, options) {\n\traw = \"Renaming '\"+from+\"' to '\"+to+\"' in \" + raw + \" of tiddler '\"+title+\"'\";\n\t// This is cheap, but whatevs. To do a proper\n\t// rendering would require working through a wiki\n\t// object. Too heavy weight for log messages.\n\tvar msg = raw.replace(/<<([^<>]+)>>/g, function(match, key) {\n\t\tvar value = args[key];\n\t\tif (key === \"field\") {\n\t\t\tvalue = descriptor(value);\n\t\t};\n\t\treturn value || (\"<<\"+key+\">>\");\n\t});\n\tconsole.log(msg);\n};\n\n// This wraps alert so it can be monkeypatched during testing.\nexports.alert = function(message) {\n\talert(message);\n};\n\nexports.getString = function(title, options) {\n\ttitle = \"$:/plugins/flibbles/relink/language/\" + title;\n\treturn options.wiki.renderTiddler(\"text/plain\", title, options);\n};\n\nvar logger;\n\nexports.reportFailures = function(failureList, options) {\n\tif (!logger) {\n\t\tlogger = new $tw.utils.Logger(\"Relinker\");\n\t}\n\tvar alertString = this.getString(\"Error/ReportFailedRelinks\", options)\n\tvar placeholder = new Placeholder(options);\n\tvar phOptions = $tw.utils.extend({placeholder: placeholder}, options);\n\tvar alreadyReported = Object.create(null);\n\tvar reportList = [];\n\t$tw.utils.each(failureList, function(f) {\n\t\tif (!alreadyReported[f]) {\n\t\t\tif ($tw.browser) {\n\t\t\t\treportList.push(\"\\n* \" + prettylink.makeLink(f, undefined, phOptions));\n\t\t\t} else {\n\t\t\t\treportList.push(\"\\n* \" + f);\n\t\t\t}\n\t\t\talreadyReported[f] = true;\n\t\t}\n\t});\n\tlogger.alert(placeholder.getPreamble() + alertString + \"\\n\" + reportList.join(\"\"));\n};\n\nexports.log = {\n\t\"html\": \"<<<element>> /> element\",\n\t\"field\": \"<<field>>\",\n\t\"filteredtransclude\": \"filtered transclusion\",\n\t\"image\": \"image\",\n\t\"import\": \"\\\\import filter\",\n\t\"macrodef\": \"<<macro>> definition\",\n\t\"prettylink\": \"prettylink\",\n\t\"syslink\": \"syslink\",\n\t\"transclude\": \"transclusion\",\n\t\"wikilink\": \"CamelCase link\",\n};\n\nfunction descriptor(field) {\n\tif (field === \"tags\") {\n\t\treturn \"tags\";\n\t} else {\n\t\treturn field + \" field\" ;\n\t}\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/language.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/mangler.js": {
"text": "/*\\\nmodule-type: widget\n\nCreates a mangler widget for field validation. This isn't meant to be used\nby the user. It's only used in Relink configuration.\n\n\\*/\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\n\nvar RelinkManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"relink-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"relink-add-operator\", handler: \"handleAddOperatorEvent\"},\n\t\t{type: \"relink-add-parameter\", handler: \"handleAddParameterEvent\"},\n\t\t{type: \"relink-add-attribute\", handler: \"handleAddAttributeEvent\"}\n\t]);\n};\n\nexports.relinkmangler = RelinkManglerWidget;\n\nRelinkManglerWidget.prototype = new Widget();\n\nRelinkManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (typeof param !== \"object\" || !param.field) {\n\t\t// Can't handle it.\n\t\treturn true;\n\t}\n\tvar trimmedName = param.field.toLowerCase().trim();\n\tif (!trimmedName) {\n\t\t// Still can't handle it, but don't warn.\n\t\treturn true;\n\t}\n\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\tlanguage.alert($tw.language.getString(\n\t\t\t\"InvalidFieldName\",\n\t\t\t{variables:\n\t\t\t\t{fieldName: trimmedName}\n\t\t\t}\n\t\t));\n\t} else {\n\t\tadd(this.wiki, \"fields\", trimmedName);\n\t}\n\treturn true;\n};\n\n/**Not much validation, even though there are definitely illegal\n * operator names. If you input on, Relink won't relink it, but it\n * won't choke on it either. Tiddlywiki will...\n */\nRelinkManglerWidget.prototype.handleAddOperatorEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (param) {\n\t\tadd(this.wiki, \"operators\", param.operator);\n\t}\n\treturn true;\n};\n\nRelinkManglerWidget.prototype.handleAddParameterEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (param && param.macro && param.parameter) {\n\t\tif (/\\s/.test(param.macro.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidMacroName\",\n\t\t\t\t{ variables: {macroName: param.macro},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else if (/[ \\/]/.test(param.parameter.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidParameterName\",\n\t\t\t\t{ variables: {parameterName: param.parameter},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else {\n\t\t\tadd(this.wiki, \"macros\", param.macro, param.parameter);\n\t\t}\n\t}\n\treturn true;\n};\n\nRelinkManglerWidget.prototype.handleAddAttributeEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (param && param.element && param.attribute) {\n\t\tif (/[ \\/]/.test(param.element.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidElementName\",\n\t\t\t\t{ variables: {elementName: param.element},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else if (/[ \\/]/.test(param.attribute.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidAttributeName\",\n\t\t\t\t{ variables: {attributeName: param.attribute},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else {\n\t\t\tadd(this.wiki, \"attributes\", param.element, param.attribute);\n\t\t}\n\t}\n\treturn true;\n};\n\nfunction add(wiki, category/*, path parts*/) {\n\tvar path = \"$:/config/flibbles/relink/\" + category;\n\tfor (var x = 2; x < arguments.length; x++) {\n\t\tvar part = arguments[x];\n\t\t// Abort if it's falsy, or only whitespace. Also, trim spaces\n\t\tif (!part || !(part = part.trim())) {\n\t\t\treturn;\n\t\t}\n\t\tpath = path + \"/\" + part;\n\t}\n\tvar def = settings.getDefaultType(wiki);\n\twiki.addTiddler({title: path, text: def});\n};\n",
"module-type": "widget",
"title": "$:/plugins/flibbles/relink/js/mangler.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/settings.js": {
"text": "/*\\\nmodule-type: library\n\nThis handles the fetching and distribution of relink settings.\n\n\\*/\n\nvar fieldTypes = Object.create(null);\nvar surveyors = [];\nvar prefix = \"$:/config/flibbles/relink/\";\n\n$tw.modules.forEachModuleOfType(\"relinkfieldtype\", function(title, exports) {\n\tfunction NewType() {};\n\tNewType.prototype = exports;\n\tNewType.typeName = exports.name;\n\tfieldTypes[exports.name] = NewType;\n\t// For legacy reasons, some of the field types can go by other names\n\tif (exports.aliases) {\n\t\t$tw.utils.each(exports.aliases, function(alias) {\n\t\t\tfieldTypes[alias] = NewType;\n\t\t});\n\t}\n});\n\n$tw.modules.forEachModuleOfType(\"relinksurveyor\", function(title, exports) {\n\tsurveyors.push(exports);\n});\n\nfunction Settings(wiki) {\n\tthis.settings = compileSettings(wiki);\n\tthis.wiki = wiki;\n};\n\nmodule.exports = Settings;\n\n/**Returns a specific relinker.\n * This is useful for wikitext rules which need to parse a filter or a list\n */\nSettings.getType = function(name) {\n\tvar Handler = fieldTypes[name];\n\treturn Handler ? new Handler() : undefined;\n};\n\nSettings.getTypes = function() {\n\t// We don't return fieldTypes, because we don't want it modified,\n\t// and we need to filter out legacy names.\n\tvar rtn = Object.create(null);\n\tfor (var type in fieldTypes) {\n\t\tvar typeObject = fieldTypes[type];\n\t\trtn[typeObject.typeName] = typeObject;\n\t}\n\treturn rtn;\n};\n\nSettings.getDefaultType = function(wiki) {\n\tvar tiddler = wiki.getTiddler(\"$:/config/flibbles/relink/settings/default-type\");\n\tvar defaultType = tiddler && tiddler.fields.text;\n\t// make sure the default actually exists, otherwise default\n\treturn fieldTypes[defaultType] ? defaultType : \"title\";\n};\n\nSettings.prototype.survey = function(text, fromTitle, options) {\n\tif (text) {\n\t\tfor (var i = 0; i < surveyors.length; i++) {\n\t\t\tif (surveyors[i].survey(text, fromTitle, options)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nSettings.prototype.getAttribute = function(elementName) {\n\treturn this.settings.attributes[elementName];\n};\n\nSettings.prototype.getAttributes = function() {\n\treturn flatten(this.settings.attributes);\n};\n\n\nSettings.prototype.getFields = function() {\n\treturn this.settings.fields;\n};\n\nSettings.prototype.getOperators = function() {\n\treturn this.settings.operators;\n};\n\nSettings.prototype.getMacro = function(macroName) {\n\treturn this.settings.macros[macroName];\n};\n\nSettings.prototype.getMacros = function() {\n\treturn flatten(this.settings.macros);\n};\n\nSettings.prototype.refresh = function(changes) {\n\tfor (var title in changes) {\n\t\tif (title.substr(0, prefix.length) === prefix) {\n\t\t\tthis.settings = compileSettings(this.wiki);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/**Factories define methods that create settings given config tiddlers.\n * for factory method 'example', it will be called once for each:\n * \"$:/config/flibbles/relink/example/...\" tiddler that exists.\n * the argument \"key\" will be set to the contents of \"...\"\n *\n * The reason I build relink settings in this convoluted way is to minimize\n * the number of times tiddlywiki has to run through EVERY tiddler looking\n * for relink config tiddlers.\n *\n * Also, by exporting \"factories\", anyone who extends relink can patch in\n * their own factory methods to create settings that are generated exactly\n * once per rename.\n */\nexports.factories = {\n\tattributes: function(attributes, data, key) {\n\t\tvar elem = root(key);\n\t\tvar attr = key.substr(elem.length+1);\n\t\tattributes[elem] = attributes[elem] || Object.create(null);\n\t\tattributes[elem][attr] = data;\n\t},\n\tfields: function(fields, data, name) {\n\t\tfields[name] = data;\n\t},\n\tmacros: function(macros, data, key) {\n\t\t// We take the last index, not the first, because macro\n\t\t// parameters can't have slashes, but macroNames can.\n\t\tvar name = dir(key);\n\t\tvar arg = key.substr(name.length+1);\n\t\tmacros[name] = macros[name] || Object.create(null);\n\t\tmacros[name][arg] = data;\n\t},\n\toperators: function(operators, data, name) {\n\t\toperators[name] = data;\n\t}\n};\n\nfunction compileSettings(wiki) {\n\tvar settings = Object.create(null);\n\tfor (var name in exports.factories) {\n\t\tsettings[name] = Object.create(null);\n\t}\n\twiki.eachShadowPlusTiddlers(function(tiddler, title) {\n\t\tif (title.substr(0, prefix.length) === prefix) {\n\t\t\tvar remainder = title.substr(prefix.length);\n\t\t\tvar category = root(remainder);\n\t\t\tvar factory = exports.factories[category];\n\t\t\tif (factory) {\n\t\t\t\tvar name = remainder.substr(category.length+1);\n\t\t\t\tvar Handler = fieldTypes[tiddler.fields.text];\n\t\t\t\tif (Handler) {\n\t\t\t\t\tvar data = new Handler();\n\t\t\t\t\tdata.source = title;\n\t\t\t\t\t// Secret feature. You can access a config tiddler's\n\t\t\t\t\t// fields from inside the fieldtype handler. Cool\n\t\t\t\t\t// tricks can be done with this.\n\t\t\t\t\tdata.fields = tiddler.fields;\n\t\t\t\t\tfactory(settings[category], data, name);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn settings;\n};\n\n/* Returns first bit of a path. path/to/tiddler -> path\n */\nfunction root(string) {\n\tvar index = string.indexOf('/');\n\tif (index >= 0) {\n\t\treturn string.substr(0, index);\n\t}\n};\n\n/* Returns all but the last bit of a path. path/to/tiddler -> path/to\n */\nfunction dir(string) {\n\tvar index = string.lastIndexOf('/');\n\tif (index >= 0) {\n\t\treturn string.substr(0, index);\n\t}\n}\n\nfunction flatten(set) {\n\tvar signatures = Object.create(null);\n\tfor (var outerName in set) {\n\t\tvar setItem = set[outerName];\n\t\tfor (var innerName in setItem) {\n\t\t\tsignatures[outerName + \"/\" + innerName] = setItem[innerName];\n\t\t}\n\t}\n\treturn signatures;\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/settings.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/wikimethods.js": {
"text": "/*\\\nmodule-type: wikimethod\n\nIntroduces some utility methods used by Relink.\n\n\\*/\n\nvar MacroSettings = require('$:/plugins/flibbles/relink/js/utils/macroConfig.js');\nvar Settings = require(\"$:/plugins/flibbles/relink/js/settings.js\");\n\nvar relinkOperations = Object.create(null);\n$tw.modules.applyMethods('relinkoperator', relinkOperations);\n\n/** Returns a pair like this,\n * { title: {field: entry, ... }, ... }\n */\nexports.getRelinkReport = function(fromTitle, toTitle, options) {\n\tvar cache = this.getGlobalCache(\"relink-\"+fromTitle, function() {\n\t\treturn Object.create(null);\n\t});\n\tif (!cache[toTitle]) {\n\t\tcache[toTitle] = getFreshRelinkReport(this, fromTitle, toTitle, options);\n\t}\n\treturn cache[toTitle];\n};\n\nfunction getFreshRelinkReport(wiki, fromTitle, toTitle, options) {\n\toptions = options || {};\n\toptions.wiki = options.wiki || wiki;\n\toptions.settings = wiki.getRelinkConfig();\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\tvar changeList = Object.create(null);\n\tif(fromTitle && toTitle) {\n\t\tvar tiddlerList = wiki.getRelinkableTitles();\n\t\tfor (var i = 0; i < tiddlerList.length; i++) {\n\t\t\tvar title = tiddlerList[i];\n\t\t\tvar tiddler = wiki.getTiddler(title);\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(tiddler\n\t\t\t&& !tiddler.fields[\"plugin-type\"]\n\t\t\t&& tiddler.fields.type !== \"application/javascript\") {\n\t\t\t\ttry {\n\t\t\t\t\tvar entries = Object.create(null);\n\t\t\t\t\tfor (var operation in relinkOperations) {\n\t\t\t\t\t\trelinkOperations[operation](tiddler, fromTitle, toTitle, entries, options);\n\t\t\t\t\t}\n\t\t\t\t\tfor (var field in entries) {\n\t\t\t\t\t\t// So long as there is one key,\n\t\t\t\t\t\t// add it to the change list.\n\t\t\t\t\t\tchangeList[title] = entries;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// Should we test for instanceof Error instead?: yes\n\t\t\t\t\t// Does that work in the testing environment?: no\n\t\t\t\t\tif (e.message) {\n\t\t\t\t\t\te.message = e.message + \"\\nWhen relinking '\" + title + \"'\";\n\t\t\t\t\t}\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn changeList;\n};\n\nexports.getRelinkableTitles = function() {\n\tvar toUpdate = \"$:/config/flibbles/relink/to-update\";\n\tvar self = this;\n\treturn this.getCacheForTiddler(toUpdate, \"relink-toUpdate\", function() {\n\t\tvar tiddler = self.getTiddler(toUpdate);\n\t\tif (tiddler) {\n\t\t\treturn self.compileFilter(tiddler.fields.text);\n\t\t} else {\n\t\t\treturn self.allTitles;\n\t\t}\n\t})();\n};\n\n\nexports.getRelinkConfig = function() {\n\tif (this._relinkConfig === undefined) {\n\t\tvar settings = new Settings(this);\n\t\tvar config = new MacroSettings(this, settings);\n\t\tconfig.import( \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\");\n\t\t// All this below is just wiki.addEventListener, only it\n\t\t// puts the event in front, because we need to refresh our\n\t\t// relink settings before updating tiddlers.\n\t\tthis.eventListeners = this.eventListeners || {};\n\t\tthis.eventListeners.change = this.eventListeners.change || [];\n\t\tthis.eventListeners.change.unshift(function(changes) {\n\t\t\tconfig.refresh(changes);\n\t\t});\n\t\tthis._relinkConfig = config;\n\t}\n\treturn this._relinkConfig;\n};\n",
"module-type": "wikimethod",
"title": "$:/plugins/flibbles/relink/js/wikimethods.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/all_relinkable.js": {
"text": "/*\\\nmodule-type: allfilteroperator\n\nFilter function for [all[relinkable]].\nReturns all tiddlers subject to relinking.\n\n\\*/\n\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.relinkable = function(source,prefix,options) {\n\treturn options.wiki.getRelinkableTitles();\n};\n\n})();\n",
"module-type": "allfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/all_relinkable.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/impossible.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nThis filter is meant for internal Relink use only, thus it's\nundocumented and subject to change. Also, it's really not great.\n\nGiven an input of targets, (possibly just one), outputs all the tiddlers in\nwhich Relink would fail to update <<currentTiddler>> to the operand in ALL\ncases.\n\n`[all[tiddlers+system]relink:impossible<toTiddler>]`\n\n\\*/\n\nvar language = require(\"$:/plugins/flibbles/relink/js/language.js\");\n\nexports.impossible = function(source,operator,options) {\n\tvar from = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tvar to = operator.operand,\n\t\tresults = [];\n\tif (from) {\n\t\tvar records = options.wiki.getRelinkReport(\n\t\t\tfrom, to, options);\n\t\tsource(function(tiddler, title) {\n\t\t\tvar fields = records[title];\n\t\t\tif (fields) {\n\t\t\t\tvar impossible = false;\n\t\t\t\tfor (var field in fields) {\n\t\t\t\t\tlanguage.eachImpossible(fields[field], function() {\n\t\t\t\t\t\timpossible = true;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (impossible) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/impossible.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/references.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nGiven a title as an operand, returns all non-shadow tiddlers that have any\nsort of updatable reference to it.\n\n\n`relink:references[fromTiddler]]`\n\nReturns all tiddlers that reference `fromTiddler` somewhere inside them.\n\nInput is ignored. Maybe it shouldn't do this.\nAlso, maybe it should properly recon, instead of fake replacing the title with\n`__relink_dummy__`\n\\*/\n\nexports.references = function(source,operator,options) {\n\tvar fromTitle = operator.operand,\n\t\tresults = [];\n\tif (fromTitle) {\n\t\tvar records = options.wiki.getRelinkReport(\n\t\t\tfromTitle, \"$:/plugins/flibbles/relink/dummy\", options);\n\t\tfor (var title in records) {\n\t\t\tresults.push(title);\n\t\t}\n\t}\n\treturn results;\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/references.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/relink.js": {
"text": "/*\\\nmodule-type: filteroperator\n\nThis filter acts as a namespace for several small, simple filters, such as\n\n`[relink:impossible[]]`\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nvar relinkFilterOperators;\n\nfunction getRelinkFilterOperators() {\n\tif(!relinkFilterOperators) {\n\t\trelinkFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"relinkfilteroperator\",\n\t\t relinkFilterOperators);\n\t}\n\treturn relinkFilterOperators;\n}\n\nexports.relink = function(source,operator,options) {\n\tvar suffixPair = parseSuffix(operator.suffix);\n\tvar relinkFilterOperator = getRelinkFilterOperators()[suffixPair[0]];\n\tif (relinkFilterOperator) {\n\t\tvar newOperator = $tw.utils.extend({}, operator);\n\t\tnewOperator.suffix = suffixPair[1];\n\t\treturn relinkFilterOperator(source, newOperator, options);\n\t} else {\n\t\treturn [language.getString(\"Error/RelinkFilterOperator\", options)];\n\t}\n};\n\nfunction parseSuffix(suffix) {\n\tvar index = suffix? suffix.indexOf(\":\"): -1;\n\tif (index >= 0) {\n\t\treturn [suffix.substr(0, index), suffix.substr(index+1)];\n\t} else {\n\t\treturn [suffix];\n\t}\n}\n",
"module-type": "filteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/relink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/report.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nGiven a title as an operand, returns a string for each occurrence of that title\nwithin each input title.\n\n[[title]] +[relink:report[fromTiddler]]`\n\nReturns string representation of fromTiddler occurrences in title.\n\\*/\n\nexports.report = function(source,operator,options) {\n\tvar fromTitle = operator.operand,\n\t\tresults = [],\n\t\trecords = options.wiki.getRelinkReport(\n\t\t\tfromTitle, fromTitle, options);\n\tif (fromTitle) {\n\t\tsource(function(tiddler, title) {\n\t\t\tvar affectedFields = records[title];\n\t\t\tif (affectedFields) {\n\t\t\t\tfor (var field in affectedFields) {\n\t\t\t\t\tvar entry = affectedFields[field];\n\t\t\t\t\tvar signatures = entry.report();\n\t\t\t\t\tresults = results.concat(signatures);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/report.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/signatures.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nThis filter returns all input tiddlers which are a source of\nrelink configuration.\n\n`[all[tiddlers+system]relink:source[macros]]`\n\n\\*/\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\n\nexports.signatures = function(source,operator,options) {\n\tvar plugin = operator.operand || null;\n\tvar set = getSet(options);\n\tif (plugin === \"$:/core\") {\n\t\t// Core doesn't actually have any settings. We mean Relink\n\t\tplugin = \"$:/plugins/flibbles/relink\";\n\t}\n\tvar signatures = [];\n\tfor (var signature in set) {\n\t\tvar source = set[signature].source;\n\t\tif (options.wiki.getShadowSource(source) === plugin) {\n\t\t\tsignatures.push(signature);\n\t\t}\n\t}\n\treturn signatures;\n};\n\nexports.type = function(source,operator,options) {\n\tvar results = [];\n\tvar set = getSet(options);\n\tsource(function(tiddler, signature) {\n\t\tif (set[signature]) {\n\t\t\tresults.push(set[signature].name);\n\t\t}\n\t});\n\treturn results;\n};\n\nexports.types = function(source,operator,options) {\n\tvar def = settings.getDefaultType(options.wiki);\n\tvar types = Object.keys(settings.getTypes());\n\ttypes.sort();\n\t// move default to front\n\ttypes.sort(function(x,y) { return x === def ? -1 : y === def ? 1 : 0; });\n\treturn types;\n};\n\nexports.source = function(source,operator,options) {\n\tvar results = [];\n\tvar category = operator.suffix;\n\tvar set = getSet(options);\n\tsource(function(tiddler, signature) {\n\t\tif (set[signature]) {\n\t\t\tresults.push(set[signature].source);\n\t\t}\n\t});\n\treturn results;\n};\n\nfunction getSet(options) {\n\treturn options.wiki.getGlobalCache(\"relink-signatures\", function() {\n\t\tvar config = options.wiki.getRelinkConfig();\n\t\tvar set = Object.create(null);\n\t\tvar categories = {\n\t\t\tattributes: config.getAttributes(),\n\t\t\tfields: config.getFields(),\n\t\t\tmacros: config.getMacros(),\n\t\t\toperators: config.getOperators()};\n\t\t$tw.utils.each(categories, function(list, category) {\n\t\t\t$tw.utils.each(list, function(item, key) {\n\t\t\t\tset[category + \"/\" + key] = item;\n\t\t\t});\n\t\t});\n\t\treturn set;\n\t});\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/signatures.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/splitafter.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: relinkfilteroperator\n\nFilter operator that splits each result on the last occurance of the specified separator and returns the last bit.\n\nWhat does this have to do with relink? Nothing. I need this so I can render\nthe configuration menu. I //could// use [splitregexp[]], but then I'd be\nlimited to Tiddlywiki v5.1.20 or later.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitafter = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar index = title.lastIndexOf(operator.operand);\n\t\tif(index < 0) {\n\t\t\t$tw.utils.pushTop(results,title);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,title.substr(index+1));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n\n",
"title": "$:/plugins/flibbles/relink/js/filteroperators/splitafter.js",
"type": "application/javascript",
"module-type": "relinkfilteroperator"
},
"$:/plugins/flibbles/relink/js/fieldtypes/filter.js": {
"text": "/*\\\nThis specifies logic for updating filters to reflect title changes.\n\\*/\n\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = \"filter\";\n\nvar FilterEntry = EntryNode.newType(\"filter\");\n\nFilterEntry.prototype.report = function() {\n\treturn this.children.map(function(child) {\n\t\tif (!child.report) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn child.report();\n\t});\n};\n\nfunction OperatorEntry(operandEntry) { this.entry = operandEntry; };\nOperatorEntry.prototype.name = \"operator\";\n\nOperatorEntry.prototype.eachChild = function(method) { method(this.entry); }\n\nOperatorEntry.prototype.report = function() {\n\tvar operand = \"\";\n\tif (this.entry.report) {\n\t\toperand = this.entry.report();\n\t}\n\tvar op = this.operator;\n\tvar brackets = '[]';\n\tif (this.type === \"indirect\") {\n\t\toperand = \"{\" + operand + \"}\";\n\t} else {\n\t\toperand = \"[\" + operand + \"]\";\n\t}\n\tvar suffix = '';\n\tif (op.suffix) {\n\t\tsuffix = \":\" + op.suffix;\n\t}\n\treturn \"[\" + (op.prefix || '') + op.operator + suffix + operand + \"]\";\n};\n\n/**Returns undefined if no change was made.\n */\nexports.relink = function(filter, fromTitle, toTitle, options) {\n\tif (!options.settings.survey(filter, fromTitle, options)) {\n\t\treturn undefined;\n\t}\n\tvar filterEntry = new FilterEntry();\n\tvar relinker = new Rebuilder(filter);\n\tvar whitelist = options.settings.getOperators();\n\tvar p = 0, // Current position in the filter string\n\t\tmatch, noPrecedingWordBarrier,\n\t\twordBarrierRequired=false;\n\tvar whitespaceRegExp = /\\s+/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filter.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filter);\n\t\tnoPrecedingWordBarrier = false;\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t} else if (p != 0) {\n\t\t\tif (wordBarrierRequired) {\n\t\t\t\trelinker.add(' ', p, p);\n\t\t\t\twordBarrierRequired = false;\n\t\t\t} else {\n\t\t\t\tnoPrecedingWordBarrier = true;\n\t\t\t}\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filter.length) {\n\t\t\tvar val;\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filter);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\t// It's a bad filter\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif(match[1]) { // prefix\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\t// We check if this is a standalone title,\n\t\t\t\t// like `[[MyTitle]]`. We treat those like\n\t\t\t\t// `\"MyTitle\"` or `MyTitle`. Not like a run.\n\t\t\t\tvar standaloneTitle = /\\[\\[([^\\]]+)\\]\\]/g;\n\t\t\t\tstandaloneTitle.lastIndex = p;\n\t\t\t\tvar alone = standaloneTitle.exec(filter);\n\t\t\t\tif (!alone || alone.index != p) {\n\t\t\t\t\t// It's a legit run\n\t\t\t\t\tp =parseFilterOperation(relinker,fromTitle,toTitle,filterEntry,filter,p,whitelist,options);\n\t\t\t\t\tif (p === undefined) {\n\t\t\t\t\t\t// The filter is malformed\n\t\t\t\t\t\t// We do nothing.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbracketTitle = alone[1];\n\t\t\t\toperandRegExp.lastIndex = standaloneTitle.lastIndex;\n\t\t\t\tval = alone[1];\n\t\t\t} else {\n\t\t\t\t// standalone Double quoted string, single\n\t\t\t\t// quoted string, or noquote ahead.\n\t\t\t\tval = match[3] || match[4] || match[5];\n\t\t\t}\n\t\t\t// From here on, we're dealing with a standalone title\n\t\t\t// expression. like `\"MyTitle\"` or `[[MyTitle]]`\n\t\t\t// We're much more flexible about relinking these.\n\t\t\tvar preference = undefined;\n\t\t\tif (match[3]) {\n\t\t\t\tpreference = '\"';\n\t\t\t} else if (match[4]) {\n\t\t\t\tpreference = \"'\";\n\t\t\t} else if (match[5]) {\n\t\t\t\tpreference = '';\n\t\t\t}\n\t\t\tif (val === fromTitle) {\n\t\t\t\tvar entry = {name: \"title\"};\n\t\t\t\tvar newVal = wrapTitle(toTitle, preference);\n\t\t\t\tif (newVal === undefined) {\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\tentry.impossible = true;\n\t\t\t\t\t\tfilterEntry.add(entry);\n\t\t\t\t\t\tp = operandRegExp.lastIndex;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewVal = \"[<\"+options.placeholder.getPlaceholderFor(toTitle,undefined,options)+\">]\";\n\t\t\t\t}\n\t\t\t\tif (newVal[0] != '[') {\n\t\t\t\t\t// not bracket enclosed\n\t\t\t\t\t// this requires whitespace\n\t\t\t\t\t// arnound it\n\t\t\t\t\tif (noPrecedingWordBarrier && !match[1]) {\n\t\t\t\t\t\trelinker.add(' ', p, p);\n\t\t\t\t\t}\n\t\t\t\t\twordBarrierRequired = true;\n\t\t\t\t}\n\t\t\t\tentry.output = toTitle;\n\t\t\t\tentry.operator = {operator: \"title\"};\n\t\t\t\tentry.quotation = preference;\n\t\t\t\tfilterEntry.add(entry);\n\t\t\t\trelinker.add(newVal,p,operandRegExp.lastIndex);\n\t\t\t}\n\t\t\tp = operandRegExp.lastIndex;\n\t\t}\n\t}\n\tif (filterEntry.children.length > 0) {\n\t\tfilterEntry.output = relinker.results();\n\t\treturn filterEntry;\n\t}\n\treturn undefined;\n};\n\n/* Same as this.relink, except this has the added constraint that the return\n * value must be able to be wrapped in curly braces. (i.e. '{{{...}}}')\n */\nexports.relinkInBraces = function(filter, fromTitle, toTitle, options) {\n\tvar entry = this.relink(filter, fromTitle, toTitle, options);\n\tif (entry && entry.output && !canBeInBraces(entry.output)) {\n\t\t// Although I think we can actually do this one.\n\t\tdelete entry.output;\n\t\tentry.impossible = true;\n\t}\n\treturn entry;\n};\n\nfunction wrapTitle(value, preference) {\n\tvar choices = {\n\t\t\"\": function(v) {return !/[\\s\\[\\]]/.test(v); },\n\t\t\"[\": canBePrettyOperand,\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; }\n\t};\n\tvar wrappers = {\n\t\t\"\": function(v) {return v; },\n\t\t\"[\": function(v) {return \"[[\"+v+\"]]\"; },\n\t\t\"'\": function(v) {return \"'\"+v+\"'\"; },\n\t\t'\"': function(v) {return '\"'+v+'\"'; }\n\t};\n\tif (choices[preference]) {\n\t\tif (choices[preference](value)) {\n\t\t\treturn wrappers[preference](value);\n\t\t}\n\t}\n\tfor (var quote in choices) {\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrappers[quote](value);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n}\n\nfunction parseFilterOperation(relinker, fromTitle, toTitle, logger, filterString, p, whitelist, options) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\t// Missing [ in filter expression\n\t\treturn undefined;\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = \"!\";\n\t\t\tp++;\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\t// Missing [ in filter expression\n\t\t\treturn undefined;\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tvar entry, type;\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\ttype = \"indirect\";\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tvar operand = filterString.substring(p,nextBracketPos);\n\t\t\t\tentry = refHandler.relinkInBraces(operand, fromTitle, toTitle, options);\n\t\t\t\tif (entry && entry.output) {\n\t\t\t\t\t// We don't check the whitelist.\n\t\t\t\t\t// All indirect operands convert.\n\t\t\t\t\trelinker.add(entry.output,p,nextBracketPos);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\ttype = \"string\";\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tvar operand = filterString.substring(p,nextBracketPos);\n\t\t\t\t// Check if this is a relevant operator\n\t\t\t\tvar handler = fieldType(whitelist, operator);\n\t\t\t\tif (!handler) {\n\t\t\t\t\t// This operator isn't managed. Bye.\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tentry = handler.relink(operand, fromTitle, toTitle, options);\n\t\t\t\tif (!entry) {\n\t\t\t\t\t// The fromTitle wasn't in the operand.\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!entry.output) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar wrapped;\n\t\t\t\tif (!canBePrettyOperand(entry.output)) {\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\tdelete entry.output;\n\t\t\t\t\t\tentry.impossible = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tvar ph = options.placeholder.getPlaceholderFor(entry.output, handler.name, options);\n\t\t\t\t\twrapped = \"<\"+ph+\">\";\n\t\t\t\t} else {\n\t\t\t\t\twrapped = \"[\"+entry.output+\"]\";\n\t\t\t\t}\n\t\t\t\trelinker.add(wrapped, p-1, nextBracketPos+1);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Unterminated regular expression\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\tif (entry) {\n\t\t\tvar operatorEntry = new OperatorEntry(entry);\n\t\t\toperatorEntry.operator = operator;\n\t\t\toperatorEntry.type = type;\n\t\t\tlogger.add(operatorEntry);\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\t// Missing closing bracket in filter expression\n\t\t\t// return undefined;\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\t// Missing ] in filter expression\n\t\treturn undefined;\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n// Returns the relinker needed for a given operator, or returns undefined.\nfunction fieldType(whitelist, operator) {\n\treturn (operator.suffix &&\n\t whitelist[operator.operator + \":\" + operator.suffix]) ||\n\t whitelist[operator.operator];\n};\n\nfunction canBePrettyOperand(value) {\n\treturn value.indexOf(']') < 0;\n};\n\nfunction canBeInBraces(value) {\n\treturn value.indexOf(\"}}}\") < 0 && value.substr(value.length-2) !== '}}';\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/filter.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/list.js": {
"text": "/*\\\nThis manages replacing titles that occur within stringLists, like,\n\nTiddlerA [[Tiddler with spaces]] [[Another Title]]\n\\*/\n\nexports.name = \"list\";\n\n/**Returns undefined if no change was made.\n * Parameter: value can literally be a list. This can happen for builtin\n * types 'list' and 'tag'. In those cases, we also return list.\n */\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tvar isModified = false,\n\t\tactualList = false,\n\t\tlist;\n\tif (typeof value !== \"string\") {\n\t\t// Not a string. Must be a list.\n\t\t// clone it, since we may make changes to this possibly\n\t\t// frozen list.\n\t\tlist = (value || []).slice(0);\n\t\tactualList = true;\n\t} else {\n\t\tlist = $tw.utils.parseStringArray(value || \"\");\n\t}\n\t$tw.utils.each(list,function (title,index) {\n\t\tif(title === fromTitle) {\n\t\t\tlist[index] = toTitle;\n\t\t\tisModified = true;\n\t\t}\n\t});\n\tif (isModified) {\n\t\tvar entry = {name: \"list\"};\n\t\t// It doesn't parse correctly alone, it won't\n\t\t// parse correctly in any list.\n\t\tif (!canBeListItem(toTitle)) {\n\t\t\tentry.impossible = true;\n\t\t} else if (actualList) {\n\t\t\tentry.output = list;\n\t\t} else {\n\t\t\tentry.output = $tw.utils.stringifyList(list);\n\t\t}\n\t\treturn entry;\n\t}\n\treturn undefined;\n};\n\nfunction canBeListItem(value) {\n\tvar regexp = /\\]\\][^\\S\\xA0]/m;\n\treturn !regexp.test(value);\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/list.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/reference.js": {
"text": "/*\\\nThis manages replacing titles that occur inside text references,\n\ntiddlerTitle\ntiddlerTitle!!field\n!!field\ntiddlerTitle##propertyIndex\n\\*/\n\nexports.name = \"reference\";\n\nfunction ReferenceEntry(reference) {\n\tthis.reference = reference;\n};\nReferenceEntry.prototype.name = \"reference\";\n\nReferenceEntry.prototype.report = function() {\n\tif (this.reference.field) {\n\t\treturn [\"!!\" + this.reference.field];\n\t}\n\tif (this.reference.index) {\n\t\treturn [\"##\" + this.reference.index];\n\t}\n\treturn [\"\"];\n};\n\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tvar entry;\n\tif (value) {\n\t\tvar reference = $tw.utils.parseTextReference(value);\n\t\tif (reference.title === fromTitle) {\n\t\t\tentry = new ReferenceEntry(reference);\n\t\t\tif (!exports.canBePretty(toTitle)) {\n\t\t\t\tentry.impossible = true;\n\t\t\t} else {\n\t\t\t\treference.title = toTitle;\n\t\t\t\tentry.output = exports.toString(reference);\n\t\t\t}\n\t\t}\n\t}\n\treturn entry;\n};\n\n/* Same as this.relink, except this has the added constraint that the return\n * value must be able to be wrapped in curly braces.\n */\nexports.relinkInBraces = function(value, fromTitle, toTitle, options) {\n\tvar log = this.relink(value, fromTitle, toTitle, options);\n\tif (log && log.output && toTitle.indexOf(\"}\") >= 0) {\n\t\tdelete log.output;\n\t\tlog.impossible = true;\n\t}\n\treturn log;\n};\n\nexports.toString = function(textReference) {\n\tvar title = textReference.title || '';\n\tif (textReference.field) {\n\t\treturn title + \"!!\" + textReference.field;\n\t} else if (textReference.index) {\n\t\treturn title + \"##\" + textReference.index;\n\t}\n\treturn title;\n};\n\nexports.canBePretty = function(title) {\n\treturn !title || (title.indexOf(\"!!\") < 0 && title.indexOf(\"##\") < 0);\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/reference.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/title.js": {
"text": "/*\\\nThis specifies logic for replacing a single-tiddler field. This is the\nsimplest kind of field type. One title swaps out for the other.\n\\*/\n\n// NOTE TO MODDERS: If you're making your own field types, the name must be\n// alpha characters only.\nexports.name = 'title';\n\n/**Returns undefined if no change was made.\n */\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tif (value === fromTitle) {\n\t\treturn {name: \"title\", output: toTitle};\n\t}\n\treturn undefined;\n};\n\n// This is legacy support for when 'title' was known as 'field'\nexports.aliases = ['field', 'yes'];\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/title.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/wikitext.js": {
"text": "/*\\\nThis specifies logic for updating filters to reflect title changes.\n\\*/\n\nexports.name = \"wikitext\";\n\nvar type = 'text/vnd.tiddlywiki';\n\nvar WikiParser = require(\"$:/core/modules/parsers/wikiparser/wikiparser.js\")[type];\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nvar WikitextEntry = EntryNode.newType(\"wikitext\");\n\nWikitextEntry.prototype.report = function() {\n\tvar output = [];\n\t$tw.utils.each(this.children, function(child) {\n\t\t// All wikitext children should be able to report\n\t\t$tw.utils.each(child.report(), function(report) {\n\t\t\toutput.push(report);\n\t\t});\n\t});\n\treturn output;\n};\n\n\nfunction collectRules() {\n\tvar rules = Object.create(null);\n\t$tw.modules.forEachModuleOfType(\"relinkwikitextrule\", function(title, exports) {\n\t\tvar names = exports.name;\n\t\tif (typeof names === \"string\") {\n\t\t\tnames = [names];\n\t\t}\n\t\tfor (var i = 0; i < names.length; i++) {\n\t\t\trules[names[i]] = exports;\n\t\t}\n\t});\n\treturn rules;\n}\n\nfunction WikiRelinker(text, title, toTitle, options) {\n\tWikiParser.call(this, null, text, options);\n\tif (!this.relinkMethodsInjected) {\n\t\tvar rules = collectRules();\n\t\t$tw.utils.each([this.pragmaRuleClasses, this.blockRuleClasses, this.inlineRuleClasses], function(classList) {\n\t\t\tfor (var name in classList) {\n\t\t\t\tif (rules[name]) {\n\t\t\t\t\tdelete rules[name].name;\n\t\t\t\t\t$tw.utils.extend(classList[name].prototype, rules[name]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tWikiRelinker.prototype.relinkMethodsInjected = true;\n\t}\n\tthis.title = title;\n\tthis.toTitle = toTitle;\n\tthis.inlineRules = this.inlineRules.concat(this.pragmaRules, this.blockRules);\n\t// We work through relinkRules so we can change it later.\n\t// relinkRules is inlineRules so it gets touched up by amendRules().\n\tthis.relinkRules = this.inlineRules;\n};\n\nWikiRelinker.prototype = Object.create(WikiParser.prototype);\nWikiRelinker.prototype.parsePragmas = function() {return []; };\nWikiRelinker.prototype.parseInlineRun = function() {};\nWikiRelinker.prototype.parseBlocks = function() {};\n\nexports.relink = function(wikitext, fromTitle, toTitle, options) {\n\t// fromTitle doesn't even show up plaintext. No relinking to do.\n\tif (!options.settings.survey(wikitext, fromTitle, options)) {\n\t\treturn undefined;\n\t}\n\tvar builder = new Rebuilder(wikitext),\n\t\tparser = new WikiRelinker(wikitext, options.currentTiddler, toTitle, options),\n\t\tmatchingRule,\n\t\tentry = new WikitextEntry(),\n\t\tnewOptions = $tw.utils.extend({}, options);\n\tnewOptions.settings = options.settings.createChildLibrary(options.currentTiddler);\n\twhile (matchingRule = parser.findNextMatch(parser.relinkRules, parser.pos)) {\n\t\tif (matchingRule.rule.relink) {\n\t\t\tvar newEntry = matchingRule.rule.relink(wikitext, fromTitle, toTitle, newOptions);\n\t\t\tif (newEntry !== undefined) {\n\t\t\t\tentry.add(newEntry);\n\t\t\t\tif (newEntry.output) {\n\t\t\t\t\tbuilder.add(newEntry.output, matchingRule.matchIndex, parser.pos);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (matchingRule.rule.matchRegExp !== undefined) {\n\t\t\t\tparser.pos = matchingRule.rule.matchRegExp.lastIndex;\n\t\t\t} else {\n\t\t\t\t// We can't easily determine the end of this\n\t\t\t\t// rule match. We'll \"parse\" it so that\n\t\t\t\t// parser.pos gets updated, but we throw away\n\t\t\t\t// the results.\n\t\t\t\tmatchingRule.rule.parse();\n\t\t\t}\n\t\t}\n\t}\n\tif (entry.children.length > 0) {\n\t\tentry.output = builder.results();\n\t\treturn entry;\n\t}\n\treturn undefined;\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/wikitext.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/fields.js": {
"text": "/*\\\n\nHandles all fields specified in the plugin configuration. Currently, this\nonly supports single-value fields.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nvar FieldEntry = EntryNode.newType(\"field\");\n\nFieldEntry.prototype.report = function() {\n\tvar self = this;\n\tvar output = [];\n\t$tw.utils.each(this.children, function(child) {\n\t\tif (child.report) {\n\t\t\t$tw.utils.each(child.report(), function(report) {\n\t\t\t\tif (report) {\n\t\t\t\t\toutput.push(self.field + \": \" + report);\n\t\t\t\t} else {\n\t\t\t\t\toutput.push(self.field);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\toutput.push(self.field);\n\t\t}\n\t});\n\treturn output;\n};\n\nexports['fields'] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar fields = options.settings.getFields();\n\t$tw.utils.each(fields, function(handler, field) {\n\t\tvar input = tiddler.fields[field];\n\t\tvar entry = handler.relink(input, fromTitle, toTitle, options);\n\t\tif (entry !== undefined) {\n\t\t\tvar fieldEntry = new FieldEntry();\n\t\t\tfieldEntry.field = field;\n\t\t\tfieldEntry.output = entry.output;\n\t\t\tfieldEntry.add(entry);\n\t\t\tchanges[field] = fieldEntry;\n\t\t}\n\t});\n};\n",
"module-type": "relinkoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/fields.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text.js": {
"text": "/*\\\n\nDepending on the tiddler type, this will apply textOperators which may\nrelink titles within the body.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar defaultOperator = \"text/vnd.tiddlywiki\";\n\nvar textOperators = Object.create(null);\n$tw.modules.applyMethods('relinktextoperator', textOperators);\n\n// $:/DefaultTiddlers is a tiddler which has type \"text/vnd.tiddlywiki\",\n// but it lies. It doesn't contain wikitext. It contains a filter, so\n// we pretend it has a filter type.\n// If you want to be able to add more exceptions for your plugin, let me know.\nvar exceptions = {\n\t\"$:/DefaultTiddlers\": \"text/x-tiddler-filter\"\n};\n\nexports['text'] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar fields = tiddler.fields;\n\tif (fields.text) {\n\t\tvar type = exceptions[fields.title] || fields.type || defaultOperator;\n\t\tif (textOperators[type]) {\n\t\t\tvar entry = textOperators[type].call(this, tiddler, fromTitle, toTitle, options);\n\t\t\tif (entry) {\n\t\t\t\tchanges.text = entry;\n\t\t\t}\n\t\t}\n\t}\n};\n",
"module-type": "relinkoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/filtertext.js": {
"text": "/*\\\n\nThis relinks tiddlers which contain filters in their body, as oppose to\nwikitext.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getType('filter');\n\nexports['text/x-tiddler-filter'] = function(tiddler, fromTitle, toTitle, options) {\n\treturn filterHandler.relink(tiddler.fields.text, fromTitle, toTitle, options)\n};\n",
"module-type": "relinktextoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/filtertext.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js": {
"text": "/*\\\n\nChecks for fromTitle in a tiddler's text. If found, sees if it's relevant,\nand tries to swap it out if it is.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar type = 'text/vnd.tiddlywiki';\nvar Placeholder = require(\"$:/plugins/flibbles/relink/js/utils/placeholder.js\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar wikitextHandler = settings.getType('wikitext');\n\nexports[type] = function(tiddler, fromTitle, toTitle, options) {\n\tvar placeholder = new Placeholder();\n\tvar currentOptions = $tw.utils.extend(\n\t\t{\n\t\t\tcurrentTiddler: tiddler.fields.title,\n\t\t\tplaceholder: placeholder\n\t\t}, options);\n\tvar entry = wikitextHandler.relink(tiddler.fields.text, fromTitle, toTitle, currentOptions);\n\tif (entry && entry.output) {\n\t\t// If there's output, we've also got to prepend any macros\n\t\t// that the placeholder defined.\n\t\tvar preamble = placeholder.getPreamble();\n\t\tentry.output = preamble + entry.output;\n\t}\n\treturn entry;\n}\n",
"module-type": "relinktextoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/code.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles code blocks. Or rather //doesn't// handle them, since we should\nignore their contents.\n\n\"`` [[Renamed Title]] ``\" will remain unchanged.\n\n\\*/\n\nexports.name = [\"codeinline\", \"codeblock\"];\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar reEnd;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// I'm lazy. This relink method works for both codeblock and codeinline\n\tif (this.match[0].length > 2) {\n\t\t// Must be a codeblock\n\t\treEnd = /\\r?\\n```$/mg;\n\t} else {\n\t\t// Must be a codeinline\n\t\treEnd = new RegExp(this.match[1], \"mg\");\n\t}\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(text);\n\tif (match) {\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn undefined;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/code.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles comment blocks. Or rather //doesn't// handle them, since we should\nignore their contents.\n\n\"<!-- [[Renamed Title]] -->\" will remain unchanged.\n\n\\*/\n\nexports.name = [\"commentinline\", \"commentblock\"];\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\treturn undefined;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement of filtered transclusions in wiki text like,\n\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n\nThis renames both the list and the template field.\n\n\\*/\n\nexports.name = ['filteredtranscludeinline', 'filteredtranscludeblock'];\n\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getType('filter');\nvar utils = require(\"./utils.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nvar FilteredTranscludeEntry = EntryNode.newType(\"filteredtransclude\");\n\nFilteredTranscludeEntry.prototype.report = function() {\n\tvar output = [];\n\tvar self = this;\n\t$tw.utils.each(this.children, function(child) {\n\t\tif (child.name === \"filter\") {\n\t\t\tvar append = \"}}}\";\n\t\t\tif (self.template) {\n\t\t\t\tappend = \"||\" + self.template + append;\n\t\t\t}\n\t\t\t$tw.utils.each(child.report(), function(report) {\n\t\t\t\toutput.push(\"{{{\" + report + append);\n\t\t\t});\n\t\t} else {\n\t\t\t// Must be the template\n\t\t\toutput.push(\"{{{\" + self.filter + \"||}}}\");\n\t\t}\n\t});\n\treturn output;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar m = this.match;\n\t\tfilter = m[1],\n\t\ttooltip = m[2],\n\t\ttemplate = m[3],\n\t\tstyle = m[4],\n\t\tclasses = m[5],\n\t\tparser = this.parser,\n\t\tentry = new FilteredTranscludeEntry();\n\tparser.pos = this.matchRegExp.lastIndex;\n\tvar modified = false;\n\n\tvar filterEntry = filterHandler.relink(filter, fromTitle, toTitle, options);\n\tif (filterEntry !== undefined) {\n\t\tentry.add(filterEntry);\n\t\tif (filterEntry.output) {\n\t\t\tmodified = true;\n\t\t\tfilter = filterEntry.output;\n\t\t}\n\t}\n\n\tif ($tw.utils.trim(template) === fromTitle) {\n\t\t// preserves user-inputted whitespace\n\t\ttemplate = template.replace(fromTitle, toTitle);\n\t\tentry.add({name: \"title\", output: template});\n\t\tmodified = true;\n\t}\n\tif (!modified) {\n\t\tif (entry.children.length <= 0) {\n\t\t\treturn undefined;\n\t\t}\n\t} else {\n\t\tvar output = this.makeFilteredtransclude(filter, tooltip, template, style, classes, options);\n\t\tif (output === undefined) {\n\t\t\tentry.impossible = true;\n\t\t} else {\n\t\t\t// By copying over the ending newline of the original\n\t\t\t// text if present, thisrelink method thus works for\n\t\t\t// both the inline and block rule\n\t\t\tentry.output = output + utils.getEndingNewline(m[0]);\n\t\t}\n\t\tentry.filter = filter;\n\t}\n\tentry.template = template;\n\treturn entry;\n};\n\nexports.makeFilteredtransclude = function(filter, tooltip, template, style, classes, options) {\n\tif (canBePretty(filter) && canBePrettyTemplate(template)) {\n\t\treturn prettyList(filter, tooltip, template, style, classes);\n\t} else {\n\t\treturn widget(filter, tooltip, template, style, classes, options);\n\t}\n};\n\nfunction prettyList(filter, tooltip, template, style, classes) {\n\tif (tooltip === undefined) {\n\t\ttooltip = '';\n\t} else {\n\t\ttooltip = \"|\" + tooltip;\n\t}\n\tif (template === undefined) {\n\t\ttemplate = '';\n\t} else {\n\t\ttemplate = \"||\" + template;\n\t}\n\tif (classes === undefined) {\n\t\tclasses = '';\n\t} else {\n\t\tclasses = \".\" + classes;\n\t}\n\tstyle = style || '';\n\treturn \"{{{\"+filter+tooltip+template+\"}}\"+style+\"}\"+classes;\n};\n\n/** Returns a filtered transclude as a string of a widget.\n */\nfunction widget(filter, tooltip, template, style, classes, options) {\n\tvar cannotDo = false;\n\tif (classes !== undefined) {\n\t\tclasses = classes.split('.').join(' ');\n\t}\n\tfunction wrap(name, value, treatAsTitle) {\n\t\tif (!value) {\n\t\t\treturn '';\n\t\t}\n\t\tvar wrappedValue = utils.wrapAttributeValue(value);\n\t\tif (wrappedValue === undefined) {\n\t\t\tif (!options.placeholder) {\n\t\t\t\tcannotDo = true;\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tvar category = treatAsTitle ? undefined : name;\n\t\t\twrappedValue = \"<<\"+options.placeholder.getPlaceholderFor(value,category,options)+\">>\";\n\t\t}\n\t\treturn \" \"+name+\"=\"+wrappedValue;\n\t};\n\tvar widget = [\n\t\t\"<$list\",\n\t\twrap(\"filter\", filter),\n\t\twrap(\"tooltip\", tooltip),\n\t\twrap(\"template\", template, true),\n\t\twrap(\"style\", style),\n\t\twrap(\"itemClass\", classes),\n\t\t\"/>\"\n\t];\n\tif (cannotDo) {\n\t\treturn undefined;\n\t}\n\treturn widget.join('');\n};\n\nfunction canBePretty(filter) {\n\treturn filter.indexOf('|') < 0 && filter.indexOf('}}') < 0;\n};\n\nfunction canBePrettyTemplate(template) {\n\treturn !template || (\n\t\ttemplate.indexOf('|') < 0\n\t\t&& template.indexOf('{') < 0\n\t\t&& template.indexOf('}') < 0);\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in attributes of widgets and html elements\nThis is configurable to select exactly which attributes of which elements\nshould be changed.\n\n<$link to=\"TiddlerTitle\" />\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar refHandler = settings.getType('reference');\nvar filterHandler = settings.getType('filter');\nvar macrocall = require(\"./macrocall.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = \"html\";\n\nvar HtmlEntry = EntryNode.newCollection(\"html\");\n\nHtmlEntry.prototype.forEachChildReport = function(report, attribute, type) {\n\tvar rtn = attribute;\n\tif (type === \"filtered\") {\n\t\trtn += \"={{{\" + report + \"}}}\";\n\t} else if (type === \"indirect\") {\n\t\trtn += \"={{\" + report + \"}}\";\n\t} else if (type === \"macro\") {\n\t\trtn += \"=\"+report;\n\t} else{\n\t\t// must be string.\n\t\tif (report.length > 0) {\n\t\t\trtn += '=\"' + report + '\"';\n\t\t}\n\t}\n\treturn \"<\" + this.element + \" \" + rtn + \" />\";\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar managedElement = options.settings.getAttribute(this.nextTag.tag),\n\t\tbuilder = new Rebuilder(text, this.nextTag.start);\n\tvar importFilterAttr;\n\tvar widgetEntry = new HtmlEntry();\n\twidgetEntry.attributes = Object.create(null);\n\twidgetEntry.element = this.nextTag.tag;\n\tfor (var attributeName in this.nextTag.attributes) {\n\t\tvar attr = this.nextTag.attributes[attributeName];\n\t\tvar nextEql = text.indexOf('=', attr.start);\n\t\t// This is the rare case of changing tiddler\n\t\t// \"true\" to something else when \"true\" is\n\t\t// implicit, like <$link to /> We ignore those.\n\t\tif (nextEql < 0 || nextEql > attr.end) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (this.nextTag.tag === \"$importvariables\" && attributeName === \"filter\") {\n\t\t\timportFilterAttr = attr;\n\t\t}\n\t\tvar oldLength, quotedValue, entry;\n\t\tif (attr.type === \"string\") {\n\t\t\tvar handler = getAttributeHandler(this.nextTag, attributeName, options);\n\t\t\tif (!handler) {\n\t\t\t\t// We don't manage this attribute. Bye.\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tentry = handler.relink(attr.value, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (entry.output) {\n\t\t\t\tvar quote = utils.determineQuote(text, attr);\n\t\t\t\toldLength = attr.value.length + (quote.length * 2);\n\t\t\t\tquotedValue = utils.wrapAttributeValue(entry.output,quote);\n\t\t\t\tif (quotedValue === undefined) {\n\t\t\t\t\t// The value was unquotable. We need to make\n\t\t\t\t\t// a macro in order to replace it.\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\t// but we can't...\n\t\t\t\t\t\tentry.impossible = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar value = options.placeholder.getPlaceholderFor(entry.output,handler.name,options)\n\t\t\t\t\t\tquotedValue = \"<<\"+value+\">>\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (attr.type === \"indirect\") {\n\t\t\tentry = refHandler.relinkInBraces(attr.textReference, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.impossible) {\n\t\t\t\t// +4 for '{{' and '}}'\n\t\t\t\toldLength = attr.textReference.length + 4;\n\t\t\t\tquotedValue = \"{{\"+entry.output+\"}}\";\n\t\t\t}\n\t\t} else if (attr.type === \"filtered\") {\n\t\t\tentry = filterHandler.relinkInBraces(attr.filter, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.impossible) {\n\t\t\t\t// +6 for '{{{' and '}}}'\n\t\t\t\toldLength = attr.filter.length + 6;\n\t\t\t\tquotedValue = \"{{{\"+ entry.output +\"}}}\";\n\t\t\t}\n\t\t} else if (attr.type === \"macro\") {\n\t\t\tvar macro = attr.value;\n\t\t\tentry = macrocall.relinkAttribute(macro, text, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.impossible) {\n\t\t\t\t// already includes '<<' and '>>'\n\t\t\t\toldLength = macro.end-macro.start;\n\t\t\t\tquotedValue = entry.output;\n\t\t\t}\n\t\t}\n\t\twidgetEntry.addChild(entry, attributeName, attr.type);\n\t\tif (quotedValue === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (this.nextTag.tag === \"$importvariables\" && attributeName === \"filter\") {\n\t\t\t// If this is an import variable filter, we gotta\n\t\t\t// remember this new value when we import lower down.\n\t\t\timportFilterAttr = quotedValue;\n\t\t}\n\t\t// We count backwards from the end to preserve whitespace\n\t\tvar valueStart = attr.end - oldLength;\n\t\tbuilder.add(quotedValue, valueStart, attr.end);\n\t}\n\tif (importFilterAttr) {\n\t\tprocessImportFilter(importFilterAttr, options);\n\t}\n\tthis.parser.pos = this.nextTag.end;\n\tif (widgetEntry.hasChildren()) {\n\t\twidgetEntry.output = builder.results(this.nextTag.end);\n\t\treturn widgetEntry;\n\t}\n\treturn undefined;\n};\n\n/** Returns the field handler for the given attribute of the given widget.\n * If this returns undefined, it means we don't handle it. So skip.\n */\nfunction getAttributeHandler(widget, attributeName, options) {\n\tif (widget.tag === \"$macrocall\") {\n\t\tvar nameAttr = widget.attributes[\"$name\"];\n\t\tif (nameAttr) {\n\t\t\tvar macro = options.settings.getMacro(nameAttr.value);\n\t\t\tif (macro) {\n\t\t\t\treturn macro[attributeName];\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar element = options.settings.getAttribute(widget.tag);\n\t\tif (element) {\n\t\t\treturn element[attributeName];\n\t\t}\n\t}\n\treturn undefined;\n};\n\nfunction computeAttribute(attribute, options) {\n\tvar value;\n\tif(attribute.type === \"filtered\") {\n\t\tvar parentWidget = options.settings.getVariableWidget();\n\t\tvalue = options.wiki.filterTiddlers(attribute.filter,parentWidget)[0] || \"\";\n\t} else if(attribute.type === \"indirect\") {\n\t\tvar parentWidget = options.settings.getVariableWidget();\n\t\tvalue = options.wiki.getTextReference(attribute.textReference,\"\",parentWidget.variables.currentTiddler.value);\n\t} else if(attribute.type === \"macro\") {\n\t\tvar parentWidget = options.settings.getVariableWidget();\n\t\tvalue = parentWidget.getVariable(attribute.value.name,{params: attribute.value.params});\n\t} else { // String attribute\n\t\tvalue = attribute.value;\n\t}\n\treturn value;\n};\n\n// This processes a <$importvariables> filter attribute and adds any new\n// variables to our parser.\nfunction processImportFilter(importAttribute, options) {\n\tif (typeof importAttribute === \"string\") {\n\t\t// It was changed. Reparse it. It'll be a quoted\n\t\t// attribute value. Add a dummy attribute name.\n\t\timportAttribute = $tw.utils.parseAttribute(\"p=\"+importAttribute, 0)\n\t}\n\tvar importFilter = computeAttribute(importAttribute, options);\n\toptions.settings.import(importFilter);\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/image.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in wiki text inline rules, like,\n\n[img[tiddler.jpg]]\n\n[img width=23 height=24 [Description|tiddler.jpg]]\n\n\\*/\n\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getType('filter');\nvar macrocall = require(\"./macrocall.js\");\nvar utils = require(\"./utils.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = \"image\";\n\nvar ImageEntry = EntryNode.newCollection(\"image\");\n\nImageEntry.prototype.forEachChildReport = function(report, attribute, type) {\n\tvar value;\n\tif (attribute === \"source\") {\n\t\tif (this.tooltip) {\n\t\t\tvalue = \"[img[\" + this.tooltip.value + \"]]\";\n\t\t} else {\n\t\t\tvalue = \"[img[]]\";\n\t\t}\n\t} else {\n\t\tif (type === \"indirect\") {\n\t\t\tvalue = \"{{\" + report + \"}}\";\n\t\t} else if (type === \"filtered\") {\n\t\t\tvalue = \"{{{\" + report + \"}}}\";\n\t\t} else if (type === \"macro\") {\n\t\t\t// angle brackets already added...\n\t\t\tvalue = report;\n\t\t}\n\t\tvalue = \"[img \" + attribute + \"=\"+ value + \"]\";\n\t}\n\treturn value;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar ptr = this.nextImage.start;\n\tvar builder = new Rebuilder(text, ptr);\n\tvar makeWidget = false;\n\tvar skipSource = false;\n\tvar imageEntry = new ImageEntry();\n\timageEntry.attributes = Object.create(null);\n\tif (this.nextImage.attributes.source.value === fromTitle && !canBePretty(toTitle, this.nextImage.attributes.tooltip)) {\n\t\tif (utils.wrapAttributeValue(toTitle) || options.placeholder) {\n\t\t\tmakeWidget = true;\n\t\t\tbuilder.add(\"<$image\", ptr, ptr+4);\n\t\t} else {\n\t\t\t// We won't be able to make a placeholder to replace\n\t\t\t// the source attribute. We check now so we don't\n\t\t\t// prematurely convert into a widget.\n\t\t\t// Keep going in case other attributes need replacing.\n\t\t\tskipSource = true;\n\t\t}\n\t}\n\tptr += 4; //[img\n\tvar inSource = false;\n\tfor (var attributeName in this.nextImage.attributes) {\n\t\tvar attr = this.nextImage.attributes[attributeName];\n\t\tif (attributeName === \"source\" || attributeName === \"tooltip\") {\n\t\t\tif (inSource) {\n\t\t\t\tptr = text.indexOf('|', ptr);\n\t\t\t} else {\n\t\t\t\tptr = text.indexOf('[', ptr);\n\t\t\t\tinSource = true;\n\t\t\t}\n\t\t\tif (makeWidget) {\n\t\t\t\tif (\" \\t\\n\".indexOf(text[ptr-1]) >= 0) {\n\t\t\t\t\tbuilder.add('', ptr, ptr+1);\n\t\t\t\t} else {\n\t\t\t\t\tbuilder.add(' ', ptr, ptr+1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tptr += 1;\n\t\t}\n\t\tif (attributeName === \"source\") {\n\t\t\tptr = text.indexOf(attr.value, ptr);\n\t\t\tif (attr.value === fromTitle) {\n\t\t\t\tvar entry = {name: \"title\"};\n\t\t\t\tif (makeWidget) {\n\t\t\t\t\tvar quotedValue = utils.wrapAttributeValue(toTitle);\n\t\t\t\t\tif (quotedValue === undefined) {\n\t\t\t\t\t\tvar key = options.placeholder.getPlaceholderFor(toTitle, undefined, options);\n\t\t\t\t\t\tbuilder.add(\"source=<<\"+key+\">>\", ptr, ptr+fromTitle.length);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbuilder.add(\"source=\"+quotedValue, ptr, ptr+fromTitle.length);\n\t\t\t\t\t}\n\t\t\t\t} else if (!skipSource) {\n\t\t\t\t\tbuilder.add(toTitle, ptr, ptr+fromTitle.length);\n\t\t\t\t} else {\n\t\t\t\t\tentry.impossible = true;\n\t\t\t\t}\n\t\t\t\timageEntry.addChild(entry, attributeName, \"string\");\n\t\t\t}\n\t\t\tptr = text.indexOf(']]', ptr);\n\t\t\tif (makeWidget) {\n\t\t\t\tbuilder.add(\"/>\", ptr, ptr+2);\n\t\t\t}\n\t\t\tptr += 2;\n\t\t} else if (attributeName === \"tooltip\") {\n\t\t\tif (makeWidget) {\n\t\t\t\tptr = text.indexOf(attr.value, ptr);\n\t\t\t\tvar quotedValue = utils.wrapAttributeValue(attr.value);\n\t\t\t\tbuilder.add(\"tooltip=\"+quotedValue, ptr, ptr+attr.value.length);\n\t\t\t}\n\t\t\timageEntry.tooltip = this.nextImage.attributes.tooltip;\n\t\t} else {\n\t\t\tptr = relinkAttribute(attr, builder, fromTitle, toTitle, imageEntry, options);\n\t\t}\n\t}\n\tthis.parser.pos = ptr;\n\tif (imageEntry.hasChildren()) {\n\t\timageEntry.output = builder.results(ptr);\n\t\treturn imageEntry;\n\t}\n\treturn undefined;\n};\n\nfunction relinkAttribute(attribute, builder, fromTitle, toTitle, entry, options) {\n\tvar text = builder.text;\n\tvar ptr = text.indexOf(attribute.name, attribute.start);\n\tvar end;\n\tptr += attribute.name.length;\n\tptr = text.indexOf('=', ptr);\n\tif (attribute.type === \"string\") {\n\t\tptr = text.indexOf(attribute.value, ptr)\n\t\tvar quote = utils.determineQuote(text, attribute);\n\t\t// ignore first quote. We already passed it\n\t\tend = ptr + quote.length + attribute.value.length;\n\t} else if (attribute.type === \"indirect\") {\n\t\tptr = text.indexOf('{{', ptr);\n\t\tvar end = ptr + attribute.textReference.length + 4;\n\t\tvar ref = refHandler.relinkInBraces(attribute.textReference, fromTitle, toTitle, options);\n\t\tif (ref) {\n\t\t\tentry.addChild(ref, attribute.name, \"indirect\");\n\t\t\tif (ref.output) {\n\t\t\t\tbuilder.add(\"{{\"+ref.output+\"}}\", ptr, end);\n\t\t\t}\n\t\t}\n\t} else if (attribute.type === \"filtered\") {\n\t\tptr = text.indexOf('{{{', ptr);\n\t\tvar end = ptr + attribute.filter.length + 6;\n\t\tvar filter = filterHandler.relinkInBraces(attribute.filter, fromTitle, toTitle, options);\n\t\tif (filter !== undefined) {\n\t\t\tentry.addChild(filter, attribute.name, \"filtered\");\n\t\t\tif (filter.output) {\n\t\t\t\tvar quoted = \"{{{\"+filter.output+\"}}}\";\n\t\t\t\tbuilder.add(quoted, ptr, end);\n\t\t\t}\n\t\t}\n\t} else if (attribute.type === \"macro\") {\n\t\tptr = text.indexOf(\"<<\", ptr);\n\t\tvar end = attribute.value.end;\n\t\tvar macro = attribute.value;\n\t\toldValue = attribute.value;\n\t\tvar macroEntry = macrocall.relinkAttribute(macro, text, fromTitle, toTitle, options);\n\t\tif (macroEntry !== undefined) {\n\t\t\tentry.addChild(macroEntry, attribute.name, \"macro\");\n\t\t\tif (macroEntry.output) {\n\t\t\t\tbuilder.add(macroEntry.output, ptr, end);\n\t\t\t}\n\t\t}\n\t}\n\treturn end;\n};\n\nfunction canBePretty(title, tooltip) {\n\treturn title.indexOf(']') < 0 && (tooltip || title.indexOf('|') < 0);\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/image.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles import pragmas\n\n\\import [tag[MyTiddler]]\n\\*/\n\nvar settings = require(\"$:/plugins/flibbles/relink/js/settings.js\");\nvar filterRelinker = settings.getType('filter');\n\nexports.name = \"import\";\n\nfunction ImportEntry(filterEntry) {\n\tthis.filter = filterEntry;\n};\nImportEntry.prototype.name = \"import\";\nImportEntry.prototype.eachChild = function(block) { return block(this.filter);};\nImportEntry.prototype.report = function() {\n\treturn this.filter.report().map(function(report) {\n\t\tif (report.length > 0) {\n\t\t\treturn \"\\\\import \" + report;\n\t\t} else {\n\t\t\treturn \"\\\\import\";\n\t\t}\n\t});\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\t// In this one case, I'll let the parser parse out the filter and move\n\t// the ptr.\n\tvar start = this.matchRegExp.lastIndex;\n\tvar parseTree = this.parse();\n\tvar filter = parseTree[0].attributes.filter.value;\n\tvar entry = undefined;\n\tvar filterEntry = filterRelinker.relink(filter, fromTitle, toTitle, options);\n\tif (filterEntry !== undefined) {\n\t\tentry = new ImportEntry(filterEntry);\n\t\tvar newline = text.substring(start+filter.length, this.parser.pos);\n\t\tif (filterEntry.output) {\n\t\t\tfilter = filterEntry.output;\n\t\t\tentry.output = \"\\\\import \" + filter + newline;\n\t\t}\n\t}\n\n\t// Before we go, we need to actually import the variables\n\t// it's calling for, and any /relink pragma\n\toptions.settings.import(filter);\n\n\treturn entry;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles macro calls.\n\n<<myMacro '[[MyFilter]]' 'myTitle'>>\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = [\"macrocallinline\", \"macrocallblock\"];\n\n// Error thrown when a macro's definition is needed, but can't be found.\nfunction CannotFindMacroDef() {};\nCannotFindMacroDef.prototype.impossible = true;\nCannotFindMacroDef.prototype.name = \"macroparam\";\n// Failed relinks due to missing definitions aren't reported for now.\n// I may want to do something special later on.\nCannotFindMacroDef.prototype.report = function() { return []; };\n\nvar MacrocallEntry = EntryNode.newCollection(\"macrocall\");\n\nMacrocallEntry.prototype.forEachChildReport = function(report, parameter, type) {\n\tvar rtn;\n\tif (report.length > 0) {\n\t\trtn = parameter + ': \"' + report + '\"';\n\t} else {\n\t\trtn = parameter;\n\t}\n\treturn \"<<\" + this.macro + \" \" + rtn + \">>\";\n};\n\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2],\n\t\tmacroText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (!options.settings.survey(macroText, fromTitle, options)) {\n\t\treturn undefined;\n\t}\n\tvar start = this.matchRegExp.lastIndex - this.match[0].length;\n\tvar managedMacro = options.settings.getMacro(macroName);\n\tif (!managedMacro) {\n\t\t// We don't manage this macro. Bye.\n\t\treturn undefined;\n\t}\n\tvar offset = macroName.length+2;\n\toffset = $tw.utils.skipWhiteSpace(macroText, offset);\n\tvar params = parseParams(paramString, offset+start);\n\tvar macroInfo = {\n\t\tname: macroName,\n\t\tstart: start,\n\t\tend: this.matchRegExp.lastIndex,\n\t\tparams: params\n\t};\n\tvar mayBeWidget = true;\n\tvar names = getParamNames(macroInfo.name, macroInfo.params, options);\n\tif (names === undefined) {\n\t\t// Needed the definition, and couldn't find it. So if a single\n\t\t// parameter needs to placeholder, just fail.\n\t\tmayBeWidget = false;\n\t}\n\tvar entry = relinkMacroInvocation(macroInfo, text, fromTitle, toTitle, mayBeWidget, options);\n\tif (entry && entry.output) {\n\t\tentry.output =macroToString(entry.output, text, names, options);\n\t}\n\treturn entry;\n};\n\n/** Relinks macros that occur as attributes, like <$element attr=<<...>> />\n * Processes the same, except it can't downgrade into a widget if the title\n * is complicated.\n */\nexports.relinkAttribute = function(macro, text, fromTitle, toTitle, options) {\n\tvar entry = relinkMacroInvocation(macro, text, fromTitle, toTitle, false, options);\n\tif (entry && entry.output) {\n\t\tentry.output = macroToStringMacro(entry.output, text, options);\n\t}\n\treturn entry;\n};\n\n/**Processes the given macro,\n * macro: {name:, params:, start:, end:}\n * each parameters: {name:, end:, value:}\n * Macro invocation returned is the same, but relinked, and may have new keys:\n * parameters: {type: macro, start:, newValue: (quoted replacement value)}\n * Output of the returned entry isn't a string, but a macro object. It needs\n * to be converted.\n */\nfunction relinkMacroInvocation(macro, text, fromTitle, toTitle, mayBeWidget, options) {\n\tvar managedMacro = options.settings.getMacro(macro.name);\n\tvar modified = false;\n\tif (!managedMacro) {\n\t\t// We don't manage this macro. Bye.\n\t\treturn undefined;\n\t}\n\tif (macro.params.every(function(p) {\n\t\treturn !options.settings.survey(p.value, fromTitle, options);\n\t})) {\n\t\t// We cut early if the fromTitle doesn't even appear\n\t\t// anywhere in the title. This is to avoid any headache\n\t\t// about finding macro definitions (and any resulting\n\t\t// exceptions if there isn't even a title to replace.\n\t\treturn undefined;\n\t}\n\tvar outMacro = $tw.utils.extend({}, macro);\n\tvar macroEntry = new MacrocallEntry();\n\tmacroEntry.parameters = Object.create(null);\n\toutMacro.params = macro.params.slice();\n\tfor (var managedArg in managedMacro) {\n\t\tvar index;\n\t\ttry {\n\t\t\tindex = getParamIndexWithinMacrocall(macro.name, managedArg, macro.params, options);\n\t\t} catch (e) {\n\t\t\tif (e instanceof CannotFindMacroDef) {\n\t\t\t\tmacroEntry.addChild(e);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif (index < 0) {\n\t\t\t// this arg either was not supplied, or we can't find\n\t\t\t// the definition, so we can't tie it to an anonymous\n\t\t\t// argument. Either way, move on to the next.\n\t\t\tcontinue;\n\t\t}\n\t\tvar param = macro.params[index];\n\t\tvar handler = managedMacro[managedArg];\n\t\tvar entry = handler.relink(param.value, fromTitle, toTitle, options);\n\t\tif (entry === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\t// Macro parameters can only be string parameters, not\n\t\t// indirect, or macro, or filtered\n\t\tmacroEntry.addChild(entry, managedArg, \"string\");\n\t\tif (!entry.output) {\n\t\t\tcontinue;\n\t\t}\n\t\tvar quote = utils.determineQuote(text, param);\n\t\tvar quoted = utils.wrapParameterValue(entry.output, quote);\n\t\tvar newParam = $tw.utils.extend({}, param);\n\t\tif (quoted === undefined) {\n\t\t\tif (!mayBeWidget || !options.placeholder) {\n\t\t\t\tentry.impossible = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvar ph = options.placeholder.getPlaceholderFor(entry.output,handler.name, options);\n\t\t\tnewParam.newValue = \"<<\"+ph+\">>\";\n\t\t\tnewParam.type = \"macro\";\n\t\t} else {\n\t\t\tnewParam.start = newParam.end - (newParam.value.length + (quote.length*2));\n\t\t\tnewParam.value = entry.output;\n\t\t\tnewParam.newValue = quoted;\n\t\t}\n\t\toutMacro.params[index] = newParam;\n\t\tmodified = true;\n\t}\n\tif (macroEntry.hasChildren()) {\n\t\tmacroEntry.macro = macro.name;\n\t\tif (modified) {\n\t\t\tmacroEntry.output = outMacro;\n\t\t}\n\t\treturn macroEntry;\n\t}\n\treturn undefined;\n};\n\nfunction mustBeAWidget(macro) {\n\tfor (var i = 0; i < macro.params.length; i++) {\n\t\tif (macro.params[i].type === \"macro\") {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false\n};\n\n/**Given a macro object ({name:, params:, start: end:}), and the text where\n * it was parsed from, returns a new macro that maintains any syntactic\n * structuring.\n */\nfunction macroToString(macro, text, names, options) {\n\tif (mustBeAWidget(macro)) {\n\t\tvar attrs = [];\n\t\tfor (var i = 0; i < macro.params.length; i++) {\n\t\t\tvar p = macro.params[i];\n\t\t\tvar val;\n\t\t\tif (p.newValue) {\n\t\t\t\tval = p.newValue;\n\t\t\t} else {\n\t\t\t\tval = utils.wrapAttributeValue(p.value);\n\t\t\t}\n\t\t\tattrs.push(\" \"+names[i]+\"=\"+val);\n\t\t}\n\t\treturn \"<$macrocall $name=\"+utils.wrapAttributeValue(macro.name)+attrs.join('')+\"/>\";\n\t} else {\n\t\treturn macroToStringMacro(macro, text, options);\n\t}\n};\n\nfunction macroToStringMacro(macro, text, options) {\n\tvar builder = new Rebuilder(text, macro.start);\n\tfor (var i = 0; i < macro.params.length; i++) {\n\t\tvar param = macro.params[i];\n\t\tif (param.newValue) {\n\t\t\tbuilder.add(param.newValue, param.start, param.end);\n\t\t}\n\t}\n\treturn builder.results(macro.end);\n};\n\n/** Returns -1 if param definitely isn't in macrocall.\n */\nfunction getParamIndexWithinMacrocall(macroName, param, params, options) {\n\tvar index, i, anonsExist = false;\n\tfor (i = 0; i < params.length; i++) {\n\t\tvar name = params[i].name;\n\t\tif (name === param) {\n\t\t\treturn i;\n\t\t}\n\t\tif (name === undefined) {\n\t\t\tanonsExist = true;\n\t\t}\n\t}\n\tif (!anonsExist) {\n\t\t// If no anonymous parameters are present, and we didn't find\n\t\t// it among the named ones, it must not be there.\n\t\treturn -1;\n\t}\n\tvar expectedIndex = indexOfParameterDef(macroName, param, options);\n\t// We've got to skip over all the named parameter instances.\n\tif (expectedIndex >= 0) {\n\t\tvar anonI = 0;\n\t\tfor (i = 0; i < params.length; i++) {\n\t\t\tif (params[i].name === undefined) {\n\t\t\t\tif (anonI === expectedIndex) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tanonI++;\n\t\t\t} else {\n\t\t\t\tvar indexOfOther = indexOfParameterDef(macroName, params[i].name, options);\n\t\t\t\tif (indexOfOther < expectedIndex) {\n\t\t\t\t\tanonI++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn -1;\n};\n\n// Looks up the definition of a macro, and figures out what the expected index\n// is for the given parameter.\nfunction indexOfParameterDef(macroName, paramName, options) {\n\tvar def = options.settings.getMacroDefinition(macroName);\n\tif (def === undefined) {\n\t\tthrow new CannotFindMacroDef();\n\t}\n\tvar params = def.params || [];\n\tfor (var i = 0; i < params.length; i++) {\n\t\tif (params[i].name === paramName) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\nfunction getParamNames(macroName, params, options) {\n\tvar used = Object.create(null);\n\tvar rtn = new Array(params.length);\n\tvar anonsExist = false;\n\tvar i;\n\tfor (i = 0; i < params.length; i++) {\n\t\tvar name = params[i].name;\n\t\tif (name) {\n\t\t\trtn[i] = name;\n\t\t\tused[name] = true;\n\t\t} else {\n\t\t\tanonsExist = true;\n\t\t}\n\t}\n\tif (anonsExist) {\n\t\tvar def = options.settings.getMacroDefinition(macroName);\n\t\tif (def === undefined) {\n\t\t\t// If there are anonymous parameters, and we can't\n\t\t\t// find the definition, then we can't hope to create\n\t\t\t// a widget.\n\t\t\treturn undefined;\n\t\t}\n\t\tvar defParams = def.params || [];\n\t\tvar defPtr = 0;\n\t\tfor (i = 0; i < params.length; i++) {\n\t\t\tif (rtn[i] === undefined) {\n\t\t\t\twhile(defPtr < defParams.length && used[defParams[defPtr].name]) {\n\t\t\t\t\tdefPtr++;\n\t\t\t\t}\n\t\t\t\tif (defPtr >= defParams.length) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\trtn[i] = defParams[defPtr].name;\n\t\t\t\tused[defParams[defPtr].name] = true;\n\t\t\t}\n\t\t}\n\t}\n\treturn rtn;\n};\n\nfunction parseParams(paramString, pos) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\t//paramInfo.start = pos;\n\t\tparamInfo.end = reParam.lastIndex + pos;\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles pragma macro definitions. Except we only update placeholder macros\nthat we may have previously install.\n\n\\define relink-?() Tough title\n\n\\*/\n\nvar settings = require(\"$:/plugins/flibbles/relink/js/settings\");\n\nexports.name = \"macrodef\";\n\nfunction MacrodefEntry(macroName, bodyEntry) {\n\tthis.macro = macroName;\n\tthis.body = bodyEntry;\n};\nMacrodefEntry.prototype.name = \"macrodef\";\nMacrodefEntry.prototype.eachChild = function(block) { return block(this.body);};\nMacrodefEntry.prototype.report = function() {\n\tvar macroStr = \"\\\\define \" + this.macro + \"()\";\n\tif (this.body.report) {\n\t\treturn this.body.report().map(function(report) {\n\t\t\treturn macroStr + \" \" + report;\n\t\t});\n\t} else {\n\t\treturn [macroStr];\n\t}\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar setParseTreeNode = this.parse(),\n\t\tmacroEntry,\n\t\tm = this.match,\n\t\tplaceholder = /^relink-(?:(\\w+)-)?(\\d+)$/.exec(m[1]),\n\t\twhitespace;\n\toptions.settings.addMacroDefinition(setParseTreeNode[0]);\n\t// Parse set the pos pointer, but we don't want to skip the macro body.\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (placeholder && m[2] === '') {\n\t\tvar valueRegExp;\n\t\t// m[3] means it's a multiline macrodef\n\t\tif (m[3]) {\n\t\t\tvalueRegExp = /\\r?\\n\\\\end[^\\S\\n\\r]*(?:\\r?\\n|$)/mg;\n\t\t\twhitespace = m[3];\n\t\t} else {\n\t\t\tvar newPos = $tw.utils.skipWhiteSpace(text, this.parser.pos);\n\t\t\tvalueRegExp = /(?:\\r?\\n|$)/mg;\n\t\t\twhitespace = text.substring(this.parser.pos, newPos);\n\t\t\tthis.parser.pos = newPos;\n\t\t}\n\t\tvalueRegExp.lastIndex = this.parser.pos;\n\t\tvar match = valueRegExp.exec(text);\n\t\tif (match) {\n\t\t\tvar handler = settings.getType(placeholder[1] || 'title');\n\t\t\tif (handler) {\n\t\t\t\tvar value = text.substring(this.parser.pos, match.index);\n\t\t\t\tvar entry = handler.relink(value, fromTitle, toTitle, options);\n\t\t\t\tif (entry !== undefined) {\n\t\t\t\t\tmacroEntry = new MacrodefEntry(m[1], entry);\n\t\t\t\t\tif (entry.output) {\n\t\t\t\t\t\tmacroEntry.output = this.makePlaceholder(m[1], whitespace+entry.output+match[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.parser.pos = match.index + match[0].length;\n\t\t}\n\t}\n\treturn macroEntry;\n};\n\nexports.makePlaceholder = function(name, content) {\n\treturn \"\\\\define \" + name + \"()\" + content;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in wiki text inline rules, like,\n\n[[Introduction]]\n\n[[link description|TiddlerTitle]]\n\n\\*/\n\nvar utils = require(\"./utils.js\");\n\nfunction PrettyLinkEntry() {};\nPrettyLinkEntry.prototype.name = \"prettylink\";\nPrettyLinkEntry.prototype.report = function() {\n\treturn [\"[[\" + (this.caption || this.link) + \"]]\"];\n};\n\nexports.name = \"prettylink\";\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar caption, m = this.match;\n\tif (m[2] === fromTitle) {\n\t\t// format is [[caption|MyTiddler]]\n\t\tcaption = m[1];\n\t} else if (m[2] !== undefined || m[1] !== fromTitle) {\n\t\t// format is [[MyTiddler]], and it doesn't match\n\t\treturn undefined;\n\t}\n\tvar entry = new PrettyLinkEntry();\n\tentry.caption = caption;\n\tentry.link = toTitle;\n\tentry.output = this.makeLink(toTitle, caption, options);\n\tif (entry.output === undefined) {\n\t\tentry.impossible = true;\n\t}\n\treturn entry;\n};\n\nexports.makeLink = function(tiddler, caption, options) {\n\tvar output, quoted;\n\tif (this.canBePretty(tiddler)) {\n\t\toutput = prettyLink(tiddler, caption);\n\t} else if (caption === undefined) {\n\t\tif (exports.shorthandSupported(options)) {\n\t\t\tquoted = utils.wrapAttributeValue(tiddler);\n\t\t\tif (!quoted) {\n\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tquoted = \"<<\" + options.placeholder.getPlaceholderFor(tiddler,undefined,options) + \">>\";\n\t\t\t}\n\t\t\toutput = \"<$link to=\"+quoted+\"/>\";\n\t\t} else {\n\t\t\t// If we don't have a caption, we must resort to\n\t\t\t// placeholders anyway to prevent link/caption desync\n\t\t\t// from later relinks.\n\t\t\t// It doesn't matter whether the tiddler is quotable.\n\t\t\tif (options.placeholder) {\n\t\t\t\tvar ph = options.placeholder.getPlaceholderFor(tiddler, undefined, options);\n\t\t\t\toutput = \"<$link to=<<\"+ph+\">>><$text text=<<\"+ph+\">>/></$link>\";\n\t\t\t}\n\t\t}\n\t} else if (quoted = utils.wrapAttributeValue(tiddler)) {\n\t\tvar safeCaption = sanitizeCaption(caption, options);\n\t\tif (safeCaption !== undefined) {\n\t\t\toutput = \"<$link to=\"+quoted+\">\"+safeCaption+\"</$link>\";\n\t\t}\n\t} else if (options.placeholder) {\n\t\tvar ph = options.placeholder.getPlaceholderFor(tiddler, undefined, options);\n\t\t// We don't test if caption is undefined here, because it\n\t\t// never will be. options.placeholder exists.\n\t\tvar safeCaption = sanitizeCaption(caption, options);\n\t\toutput = \"<$link to=<<\"+ph+\">>>\"+safeCaption+\"</$link>\";\n\t}\n\treturn output;\n};\n\n/**Return true if value can be used inside a prettylink.\n */\nexports.canBePretty = function(value) {\n\treturn value.indexOf(\"]]\") < 0 && value[value.length-1] !== ']';\n};\n\n/**In version 5.1.20, Tiddlywiki made it so <$link to\"something\" /> would\n * use \"something\" as a caption. This is preferable. However, Relink works\n * going back to 5.1.14, so we need to have different handling for both\n * cases.\n */\nvar _supported;\nexports.shorthandSupported = function(options) {\n\tif (_supported === undefined) {\n\t\tvar test = options.wiki.renderText(\"text/plain\", \"text/vnd.tiddlywiki\", \"<$link to=test/>\");\n\t\t_supported = (test === \"test\");\n\t}\n\treturn _supported;\n};\n\nfunction sanitizeCaption(caption, options) {\n\tvar plaintext = options.wiki.renderText(\"text/plain\", \"text/vnd.tiddlywiki\", caption);\n\tif (plaintext === caption && caption.indexOf(\"</$link>\") <= 0) {\n\t\treturn caption;\n\t} else {\n\t\tvar wrapped = utils.wrapAttributeValue(caption);\n\t\tif (wrapped) {\n\t\t\treturn \"<$text text=\"+wrapped+\"/>\";\n\t\t} else if (options.placeholder) {\n\t\t\tvar ph = options.placeholder.getPlaceholderFor(caption, \"caption\", options);\n\t\t\treturn \"<$text text=<<\"+ph+\">>/>\";\n\t\t} else {\n\t\t\treturn undefined;\n\t\t}\n\t}\n};\n\nfunction prettyLink(title, caption) {\n\tif (caption) {\n\t\treturn \"[[\" + caption + \"|\" + title + \"]]\";\n\t} else {\n\t\treturn \"[[\" + title + \"]]\";\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/relink.js": {
"text": "/*\\\nmodule-type: wikirule\n\nThis defines the \\relink inline pragma used to locally declare\nrelink rules for macros.\n\nIt takes care of providing its own relink and report rules.\n\n\\*/\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nexports.name = \"relink\";\nexports.types = {pragma: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /^\\\\relink[^\\S\\n]+([^(\\s]+)([^\\r\\n]*)(\\r?\\n)?/mg;\n};\n\n/**This makes the widget that the macro library will later parse to determine\n * new macro relink state.\n *\n * It's a <$set> widget so it can appear BEFORE \\define pragma and not\n * prevent that pragma from being scooped up by importvariables.\n * (importvariables stops scooping as soon as it sees something besides $set) */\nexports.parse = function() {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar macroName;\n\tvar macroParams = Object.create(null);\n\tvar error = undefined;\n\tvar rtn = [];\n\tvar self = this;\n\tthis.interpretSettings(function(macro, parameter, type) {\n\t\tmacroName = macro;\n\t\tif (type && !settings.getType(type)) {\n\t\t\terror = language.getString(\"Error/UnrecognizedType\",\n\t\t\t\t{variables: {type: type}, wiki: self.parser.wiki});\n\t\t}\n\t\tmacroParams[parameter] = type;\n\t});\n\t// If no macroname. Return nothing, this rule will be ignored by parsers\n\tif (macroName) {\n\t\tvar relink = Object.create(null);\n\t\trelink[macroName] = macroParams;\n\t\trtn.push({\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: \"\"}\n\t\t\t},\n\t\t\tchildren: [],\n\t\t\tisMacroDefinition: true,\n\t\t\trelink: relink});\n\t}\n\tif (error) {\n\t\trtn.push({\n\t\t\ttype: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tc-error tc-relink-error\"\n\t\t\t\t}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: error}\n\t\t\t]});\n\t}\n\treturn rtn;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar self = this;\n\tthis.interpretSettings(function(macro, parameter, type) {\n\t\toptions.settings.addSetting(macro, parameter, type, options.currentTiddler);\n\t});\n\t// Return nothing, because this rule is ignored by the parser\n\treturn undefined;\n};\n\nexports.interpretSettings = function(block) {\n\tvar paramString = this.match[2];\n\tif (paramString !== \"\") {\n\t\tvar macro = this.match[1];\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*([^\\s]+))?/mg;\n\t\tvar paramMatch = reParam.exec(paramString);\n\t\twhile (paramMatch) {\n\t\t\tvar parameter = paramMatch[1];\n\t\t\tvar type = paramMatch[2];\n\t\t\tblock(macro, parameter, type);\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n};\n",
"module-type": "wikirule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/relink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nParses and acknowledges any pragma rules a tiddler has.\n\n\\rules except html wikilink\n\n\\*/\n\nexports.name = \"rules\";\n\n/**This is all we have to do. The rules rule doesn't parse. It just amends\n * the rules, which is exactly what I want it to do too.\n * It also takes care of moving the pos pointer forward.\n */\nexports.relink = function() {\n\tthis.parse();\n\treturn undefined;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/syslink.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles sys links\n\n$:/sys/link\n\nbut not:\n\n~$:/sys/link\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar prettylink = require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js');\n\nexports.name = \"syslink\";\n\nfunction SyslinkEntry() {};\nSyslinkEntry.prototype.name = \"syslink\";\nSyslinkEntry.prototype.report = function() {\n\treturn [\"~\" + this.link];\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar entry = undefined;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (this.match[0] === fromTitle && this.match[0][0] !== \"~\") {\n\t\tentry = new SyslinkEntry();\n\t\tentry.link = fromTitle;\n\t\tentry.output = this.makeSyslink(toTitle, options);\n\t\tif (entry.output === undefined) {\n\t\t\tentry.impossible = true;\n\t\t}\n\t}\n\treturn entry;\n};\n\nexports.makeSyslink = function(title, options) {\n\tvar match = title.match(this.matchRegExp);\n\tif (match && match[0] === title && title[0] !== \"~\") {\n\t\treturn title;\n\t} else {\n\t\treturn prettylink.makeLink(title, undefined, options);\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/syslink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement of transclusions in wiki text like,\n\n{{RenamedTiddler}}\n{{RenamedTiddler||TemplateTitle}}\n\nThis renames both the tiddler and the template field.\n\n\\*/\n\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar utils = require(\"./utils.js\");\n\nexports.name = ['transcludeinline', 'transcludeblock'];\n\nvar TranscludeEntry = function() {};\nTranscludeEntry.prototype.name = \"transclude\";\nTranscludeEntry.prototype.report = function() {\n\tvar ref = this.reference || {};\n\tvar output = [];\n\tif (this.referenceChanged) {\n\t\tvar suffix = \"\";\n\t\tif (ref.field) {\n\t\t\tsuffix = \"!!\" + ref.field;\n\t\t}\n\t\tif (ref.index) {\n\t\t\tsuffix = \"##\" + ref.index;\n\t\t}\n\t\tif (this.template) {\n\t\t\tsuffix = suffix + \"||\" + this.template;\n\t\t}\n\t\toutput.push(\"{{\" + suffix + \"}}\");\n\t}\n\tif (this.templateChanged) {\n\t\t// Must be template\n\t\tvar refString = refHandler.toString(ref);\n\t\toutput.push(\"{{\" + refString + \"||}}\");\n\t}\n\treturn output;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar m = this.match,\n\t\treference = $tw.utils.parseTextReference(m[1]),\n\t\ttemplate = m[2],\n\t\tentry = new TranscludeEntry(),\n\t\tmodified = false;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif ($tw.utils.trim(reference.title) === fromTitle) {\n\t\t// preserve user's whitespace\n\t\treference.title = reference.title.replace(fromTitle, toTitle);\n\t\tmodified = true;\n\t\tentry.referenceChanged = true;\n\t}\n\tif ($tw.utils.trim(template) === fromTitle) {\n\t\ttemplate = template.replace(fromTitle, toTitle);\n\t\tmodified = true;\n\t\tentry.templateChanged = true;\n\t}\n\tif (modified) {\n\t\tentry.reference = reference;\n\t\tentry.template = template;\n\t\tvar output = this.makeTransclude(reference, template, options);\n\t\tif (output) {\n\t\t\t// Adding any newline that might have existed is\n\t\t\t// what allows this relink method to work for both\n\t\t\t// the block and inline filter wikitext rule.\n\t\t\toutput = output + utils.getEndingNewline(m[0]);\n\t\t\tentry.output = output;\n\t\t} else {\n\t\t\tentry.impossible = true;\n\t\t}\n\t\treturn entry;\n\t}\n\treturn undefined;\n};\n\n/** This converts a reference and a template into a string representation\n * of a transclude.\n */\nexports.makeTransclude = function(reference, template, options) {\n\tvar rtn;\n\tif (!canBePrettyTemplate(template)) {\n\t\tvar resultTemplate = wrap(template, options);\n\t\tif (resultTemplate !== undefined) {\n\t\t\tif (reference.title) {\n\t\t\t\tvar resultTitle = wrap(reference.title, options);\n\t\t\t\tvar attrs = transcludeAttributes(reference.field, reference.index, options);\n\t\t\t\tif (resultTitle !== undefined && attrs !== undefined) {\n\t\t\t\t\trtn = \"<$tiddler tiddler=\"+resultTitle+\"><$transclude tiddler=\"+resultTemplate+attrs+\"/></$tiddler>\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trtn = \"<$transclude tiddler=\"+resultTemplate+\"/>\";\n\t\t\t}\n\t\t}\n\t} else if (!canBePrettyTitle(reference.title)) {\n\t\t// This block and the next account for the 1%...\n\t\tvar resultTitle = wrap(reference.title, options);\n\t\tif (resultTitle !== undefined) {\n\t\t\tvar reducedRef = {field: reference.field, index: reference.index};\n\t\t\trtn = \"<$tiddler tiddler=\"+resultTitle+\">\"+prettyTransclude(reducedRef, template)+\"</$tiddler>\";\n\t\t}\n\t} else {\n\t\t// This block takes care of 99% of all cases\n\t\trtn = prettyTransclude(reference, template);\n\t}\n\treturn rtn;\n};\n\nfunction wrap(tiddler, options) {\n\ttiddler = $tw.utils.trim(tiddler);\n\tvar result = utils.wrapAttributeValue(tiddler);\n\tif (result === undefined) {\n\t\tif (options.placeholder) {\n\t\t\tresult = \"<<\" + options.placeholder.getPlaceholderFor(tiddler, undefined, options) + \">>\";\n\t\t}\n\t}\n\treturn result;\n};\n\nfunction canBePrettyTitle(value) {\n\treturn refHandler.canBePretty(value) && canBePrettyTemplate(value);\n};\n\nfunction canBePrettyTemplate(value) {\n\treturn !value || (value.indexOf('}') < 0 && value.indexOf('{') < 0 && value.indexOf('|') < 0);\n};\n\n/**Returns attributes for a transclude widget.\n * only field or index should be used, not both, but both will return\n * the intuitive (albeit useless) result.\n */\nfunction transcludeAttributes(field, index, options) {\n\tvar rtn = [\n\t\twrapAttribute(\"field\", field, options),\n\t\twrapAttribute(\"index\", index, options)\n\t];\n\tif (rtn[0] === undefined || rtn[1] === undefined) {\n\t\t// This can only happen if the transclude is using an\n\t\t// illegal key.\n\t\treturn undefined;\n\t}\n\treturn rtn.join('');\n};\n\nfunction wrapAttribute(name, value, options) {\n\tif (value) {\n\t\tvar wrappedValue = utils.wrapAttributeValue(value);\n\t\tif (wrappedValue === undefined) {\n\t\t\tif (!options.placeholder) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\twrappedValue = \"<<\"+options.placeholder.getPlaceholderFor(value, name, options)+\">>\";\n\t\t}\n\t\treturn \" \"+name+\"=\"+wrappedValue;\n\t}\n\treturn '';\n};\n\nfunction prettyTransclude(textReference, template) {\n\tif (typeof textReference !== \"string\") {\n\t\ttextReference = refHandler.toString(textReference);\n\t}\n\tif (!textReference) {\n\t\ttextReference = '';\n\t}\n\tif (template !== undefined) {\n\t\treturn \"{{\"+textReference+\"||\"+template+\"}}\";\n\t} else {\n\t\treturn \"{{\"+textReference+\"}}\";\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js": {
"text": "/*\\\nmodule-type: library\n\nUtility methods for the wikitext relink rules.\n\n\\*/\n\n/**Finds an appropriate quote mark for a given value.\n *\n *Tiddlywiki doesn't have escape characters for attribute values. Instead,\n * we just have to find the type of quotes that'll work for the given title.\n * There exist titles that simply can't be quoted.\n * If it can stick with the preference, it will.\n *\n * return: Returns the wrapped value, or undefined if it's impossible to wrap\n */\nexports.wrapAttributeValue = function(value, preference) {\n\tvar whitelist = [\"\", \"'\", '\"', '\"\"\"'];\n\tvar choices = {\n\t\t\"\": function(v) {return !/([\\/\\s<>\"'=])/.test(v); },\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; },\n\t\t'\"\"\"': function(v) {return v.indexOf('\"\"\"') < 0 && v[v.length-1] != '\"';}\n\t};\n\tif (choices[preference] && choices[preference](value)) {\n\t\treturn wrap(value, preference);\n\t}\n\tfor (var i = 0; i < whitelist.length; i++) {\n\t\tvar quote = whitelist[i];\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrap(value, quote);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n};\n\n/**Like wrapAttribute value, except for macro parameters, not attributes.\n *\n * These are more permissive. Allows brackets,\n * and slashes and '<' in unquoted values.\n */\nexports.wrapParameterValue = function(value, preference) {\n\tvar whitelist = [\"\", \"'\", '\"', '[[', '\"\"\"'];\n\tvar choices = {\n\t\t\"\": function(v) {return !/([\\s>\"'=])/.test(v); },\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; },\n\t\t\"[[\": exports.canBePrettyOperand,\n\t\t'\"\"\"': function(v) {return v.indexOf('\"\"\"') < 0 && v[v.length-1] != '\"';}\n\t};\n\tif (choices[preference] && choices[preference](value)) {\n\t\treturn wrap(value, preference);\n\t}\n\tfor (var i = 0; i < whitelist.length; i++) {\n\t\tvar quote = whitelist[i];\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrap(value, quote);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n};\n\nfunction wrap(value, wrapper) {\n\tvar wrappers = {\n\t\t\"\": function(v) {return v; },\n\t\t\"'\": function(v) {return \"'\"+v+\"'\"; },\n\t\t'\"': function(v) {return '\"'+v+'\"'; },\n\t\t'\"\"\"': function(v) {return '\"\"\"'+v+'\"\"\"'; },\n\t\t\"[[\": function(v) {return \"[[\"+v+\"]]\"; }\n\t};\n\tvar chosen = wrappers[wrapper];\n\tif (chosen) {\n\t\treturn chosen(value);\n\t} else {\n\t\treturn undefined;\n\t}\n};\n\nexports.canBePrettyOperand = function(value) {\n\treturn value.indexOf(']') < 0;\n};\n\n/**Given some text, and a param or attribute within that text, this returns\n * what type of quotation that attribute is using.\n *\n * param: An object in the form {end:, ...}\n */\nexports.determineQuote = function(text, param) {\n\tvar pos = param.end-1;\n\tif (text[pos] === \"'\") {\n\t\treturn \"'\";\n\t}\n\tif (text[pos] === '\"') {\n\t\tif (text.substr(pos-2, 3) === '\"\"\"') {\n\t\t\treturn '\"\"\"';\n\t\t} else {\n\t\t\treturn '\"';\n\t\t}\n\t}\n\tif (text.substr(pos-1,2) === ']]' && text.substr((pos-param.value.length)-3, 2) === '[[') {\n\t\treturn \"[[\";\n\t}\n\treturn '';\n};\n\n// Finds the newline at the end of a string and returns it. Empty string if\n// none exists.\nexports.getEndingNewline = function(string) {\n\tvar l = string.length;\n\tif (string[l-1] === '\\n') {\n\t\treturn (string[l-2] === '\\r') ? \"\\r\\n\" : \"\\n\";\n\t}\n\treturn \"\";\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles CamelCase links\n\nWikiLink\n\nbut not:\n\n~WikiLink\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar prettylink = require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js');\n\nexports.name = \"wikilink\";\n\nfunction WikilinkEntry() {};\nWikilinkEntry.prototype.name = \"wikilink\";\nWikilinkEntry.prototype.report = function() {\n\treturn [$tw.config.textPrimitives.unWikiLink + this.link];\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar entry = undefined;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (this.match[0] === fromTitle && this.match[0][0] !== $tw.config.textPrimitives.unWikiLink) {\n\t\tentry = new WikilinkEntry();\n\t\tentry.link = fromTitle;\n\t\tentry.output = this.makeWikilink(toTitle, options);\n\t\tif (entry.output === undefined) {\n\t\t\tentry.impossible = true;\n\t\t}\n\t}\n\treturn entry;\n};\n\nexports.makeWikilink = function(title, options) {\n\tif (title.match(this.matchRegExp) && title[0] !== $tw.config.textPrimitives.unWikiLink) {\n\t\treturn title;\n\t} else {\n\t\treturn prettylink.makeLink(title, undefined, options);\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/surveyors/raw.js": {
"text": "/*\\\n\nThis looks at text and sees if fromTitle is inside of it. That's all.\n\nSURVEYORS\n\nSurveyors are an optimization. They are way of quick-discarding text so it\ndoesn't have to be interpreted by the wikitext parser, the filter parser,\netc...\n\nThe reason I split this off into a module type is in case anyone wants to\nrelink patterns which might NOT contain the fromTitle in raw text.\n\nThey return false for \"no\", and true for \"maybe\". If any surveyor returns\n\"maybe\", the text in question is fully parsed.\n\nSee the documentation for more details.\n\n\\*/\n\nexports.survey = function(text, fromTitle, options) {\n\treturn text.indexOf(fromTitle) >= 0;\n};\n",
"module-type": "relinksurveyor",
"title": "$:/plugins/flibbles/relink/js/surveyors/raw.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/entry.js": {
"text": "function EntryNode() {\n\tthis.children = [];\n};\n\nmodule.exports = EntryNode;\n\n/** PURE VIRTUAL\n * EntryNode.prototype.report = function() -> [\"string\", ...]\n */\n\nEntryNode.newType = function(name) {\n\tfunction NewEntry() {\n\t\tEntryNode.apply(this, arguments);\n\t};\n\tNewEntry.prototype = Object.create(EntryNode.prototype);\n\tNewEntry.prototype.name = name;\n\treturn NewEntry;\n};\n\nEntryNode.prototype.eachChild = function(method) {\n\tif (this.children) {\n\t\tfor (var i = 0; i < this.children.length; i++) {\n\t\t\tmethod(this.children[i]);\n\t\t}\n\t}\n};\n\nEntryNode.prototype.add = function(entry) {\n\tthis.children.push(entry);\n};\n\nfunction EntryCollection() {\n\tthis.children = Object.create(null);\n\tthis.types = Object.create(null);\n};\n\nEntryNode.newCollection = function(name) {\n\tfunction NewCollection() {\n\t\tEntryCollection.apply(this, arguments);\n\t};\n\tNewCollection.prototype = Object.create(EntryCollection.prototype);\n\tNewCollection.prototype.name = name;\n\treturn NewCollection;\n};\n\nEntryCollection.prototype.eachChild = function(method) {\n\tfor (var child in this.children) {\n\t\tmethod(this.children[child]);\n\t}\n};\n\nEntryCollection.prototype.addChild = function(child, name, type) {\n\tthis.children[name] = child;\n\tthis.types[name] = type;\n};\n\nEntryCollection.prototype.report = function() {\n\tvar output = [];\n\tfor (var name in this.children) {\n\t\tvar child = this.children[name];\n\t\tvar type = this.types[name];\n\t\tif (child.report) {\n\t\t\tvar reports = child.report();\n\t\t\tfor (var i = 0; i < reports.length; i++) {\n\t\t\t\toutput.push(this.forEachChildReport(reports[i], name, type));\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(this.forEachChildReport('', name, type));\n\n\t\t}\n\t}\n\treturn output;\n};\n\nEntryCollection.prototype.hasChildren = function() {\n\treturn Object.keys(this.children).length > 0;\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/entry.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/macroConfig.js": {
"text": "/*\\\nmodule-type: library\n\nThis handles the fetching and distribution of relink settings.\n\n\\*/\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction MacroConfig(wiki, parent, title) {\n\tthis.macros = Object.create(null);\n\tthis.parent = parent;\n\tthis.title = title;\n\tthis.wiki = wiki;\n\tthis.widgetList = [];\n\tthis.reservedmacroNames = Object.create(null);\n};\n\nmodule.exports = MacroConfig;\n\nMacroConfig.prototype.import = function(filter) {\n\tvar parentWidget;\n\tif (this.parent) {\n\t\tparentWidget = this.getVariableWidget();\n\t}\n\tvar importWidget = createImportWidget(filter, this.wiki, parentWidget);\n\tthis._compileList(importWidget.tiddlerList);\n\tthis.widgetList.push(importWidget);\n\t// This only works if only one filter is imported\n\tthis.addWidget(importWidget);\n};\n\nMacroConfig.prototype.refresh = function(changes) {\n\tthis.parent.refresh(changes);\n\tif (this.widget.refresh(changes)) {\n\t\tthis.macros = Object.create(null);\n\t\t// Recompile all our widgets in the same order\n\t\tfor (var i = 0; i < this.widgetList.length; i++) {\n\t\t\tthis._compileList(this.widgetList[i].tiddlerList );\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n// This class does no special handling of fields, operators, or attributes.\n// we pass it along to the parent.\nMacroConfig.prototype.getFields = function() {\n\treturn this.parent.getFields();\n};\n\nMacroConfig.prototype.getOperators = function() {\n\treturn this.parent.getOperators();\n};\n\nMacroConfig.prototype.getAttributes = function() {\n\treturn this.parent.getAttributes();\n};\n\nMacroConfig.prototype.survey = function(text, fromTitle, options) {\n\treturn this.parent.survey(text, fromTitle, options);\n};\n\nMacroConfig.prototype.getAttribute = function(elementName) {\n\treturn this.parent.getAttribute(elementName);\n};\n\nMacroConfig.prototype.getMacros = function() {\n\tvar signatures = this.parent.getMacros();\n\tfor (var macroName in this.macros) {\n\t\tvar macro = this.macros[macroName];\n\t\tfor (var param in macro) {\n\t\t\tsignatures[macroName + \"/\" + param] = macro[param];\n\t\t}\n\t}\n\treturn signatures;\n};\n\n// But macro we handle differently.\nMacroConfig.prototype.getMacro = function(macroName) {\n\tvar theseSettings = this.macros[macroName];\n\tvar parentSettings;\n\tif (this.parent) {\n\t\tparentSettings = this.parent.getMacro(macroName);\n\t}\n\tif (theseSettings && parentSettings) {\n\t\t// gotta merge them without changing either. This is expensive,\n\t\t// but it'll happen rarely.\n\t\tvar rtnSettings = $tw.utils.extend(Object.create(null), theseSettings, parentSettings);\n\t\treturn rtnSettings;\n\t}\n\treturn theseSettings || parentSettings;\n};\n\nMacroConfig.prototype.addSetting = function(macroName, parameter, type, sourceTitle) {\n\tvar macro = this.macros[macroName];\n\ttype = type || settings.getDefaultType(this.wiki);\n\tif (macro === undefined) {\n\t\tmacro = this.macros[macroName] = Object.create(null);\n\t}\n\tvar handler = settings.getType(type);\n\tif (handler) {\n\t\thandler.source = sourceTitle;\n\t\t// We attach the fields of the defining tiddler for the benefit\n\t\t// of any 3rd party field types that want access to them.\n\t\tvar tiddler = this.wiki.getTiddler(sourceTitle);\n\t\thandler.fields = tiddler.fields;\n\t\tmacro[parameter] = handler;\n\t}\n};\n\nMacroConfig.prototype.createChildLibrary = function(title) {\n\treturn new MacroConfig(this.wiki, this, title);\n};\n\nMacroConfig.prototype.addWidget = function(widget) {\n\tthis.widget = widget;\n\twhile (this.widget.children.length > 0) {\n\t\tthis.widget = this.widget.children[0];\n\t}\n};\n\nMacroConfig.prototype.getVariableWidget = function() {\n\tif (!this.widget) {\n\t\tvar varWidget = this.parent && this.parent.widget;\n\t\tvar parentWidget = new Widget({}, {parentWidget: varWidget});\n\t\tparentWidget.setVariable(\"currentTiddler\", this.title);\n\t\tvar widget = new Widget({}, {parentWidget: parentWidget});\n\t\tthis.addWidget(widget);\n\t}\n\treturn this.widget;\n};\n\n/**This takes macros, specifically relink placeholders, and remembers them\n * It creates a dummy object for them, since we'll never need the definition\n */\nMacroConfig.prototype.reserveMacroName = function(variableName) {\n\tthis.reservedmacroNames[variableName] = {\n\t\tvalue: \"\",\n\t\tparams: []};\n};\n\nMacroConfig.prototype.addMacroDefinition = function(setParseTreeNode) {\n\tvar bottomWidget = this.getVariableWidget();\n\tvar setWidget = bottomWidget.makeChildWidget(setParseTreeNode);\n\tsetWidget.computeAttributes();\n\tsetWidget.execute();\n\tthis.addWidget(setWidget);\n};\n\nMacroConfig.prototype.getMacroDefinition = function(variableName) {\n\treturn this.getVariableWidget().variables[variableName] || $tw.macros[variableName] || this.reservedmacroNames[variableName];\n};\n\nfunction createImportWidget(filter, wiki, parent) {\n\tvar widget = wiki.makeWidget( { tree: [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\t\"filter\": {\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: filter\n\t\t\t}\n\t\t}\n\t}] }, { parentWidget: parent} );\n\twidget.execute();\n\twidget.renderChildren();\n\tvar importWidget = widget.children[0];\n\treturn importWidget;\n};\n\nMacroConfig.prototype._compileList = function(titleList) {\n\tfor (var i = 0; i < titleList.length; i++) {\n\t\tvar parser = this.wiki.parseTiddler(titleList[i]);\n\t\tif (parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile (parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\tif (parseTreeNode.relink) {\n\t\t\t\t\tfor (var macroName in parseTreeNode.relink) {\n\t\t\t\t\t\tvar parameters = parseTreeNode.relink[macroName];\n\t\t\t\t\t\tfor (paramName in parameters) {\n\t\t\t\t\t\t\tthis.addSetting(macroName, paramName, parameters[paramName], titleList[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t}\n\t}\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/macroConfig.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/placeholder.js": {
"text": "/*\\\n\nA method which doles out placeholders when requested, and constructs\nthe necessary supporting pragma when requested.\n\n\\*/\n\nfunction Placeholder() {\n\tthis.placeholders = Object.create(null);\n\tthis.reverseMap = Object.create(null);\n};\n\nmodule.exports = Placeholder;\n\nPlaceholder.prototype.getPlaceholderFor = function(value, category, options) {\n\tvar placeholder = this.reverseMap[value];\n\tvar config = options.settings || options.wiki.getRelinkConfig();\n\tif (placeholder) {\n\t\treturn placeholder;\n\t}\n\tvar number = 0;\n\tvar prefix = \"relink-\"\n\tif (category && category !== \"title\") {\n\t\t// I don't like \"relink-title-1\". \"relink-1\" should be for\n\t\t// titles. lists, and filters can have descriptors though.\n\t\tprefix += category + \"-\";\n\t}\n\tdo {\n\t\tnumber += 1;\n\t\tplaceholder = prefix + number;\n\t} while (config.getMacroDefinition(placeholder));\n\tconfig.reserveMacroName(placeholder);\n\tthis.placeholders[placeholder] = value;\n\tthis.reverseMap[value] = placeholder;\n\treturn placeholder;\n};\n\nPlaceholder.prototype.getPreamble = function() {\n\tvar results = [];\n\tfor (var name in this.placeholders) {\n\t\tvar val = this.placeholders[name];\n\t\tresults.push(\"\\\\define \"+name+\"() \"+val+\"\\n\");\n\t}\n\treturn results.join('');\n};\n\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/placeholder.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/rebuilder.js": {
"text": "/*\\\n\nThis helper class aids in reconstructing an existing string with new parts.\n\n\\*/\n\nfunction Rebuilder(text, start) {\n\tthis.text = text;\n\tthis.index = start || 0;\n\tthis.pieces = [];\n};\n\nmodule.exports = Rebuilder;\n\n/**Pieces must be added consecutively.\n * Start and end are the indices in the old string specifying where to graft\n * in the new piece.\n */\nRebuilder.prototype.add = function(value, start, end) {\n\tthis.pieces.push(this.text.substring(this.index, start), value);\n\tthis.index = end;\n};\n\nRebuilder.prototype.changed = function() {\n\treturn this.pieces.length > 0;\n};\n\nRebuilder.prototype.results = function(end) {\n\tif (this.changed()) {\n\t\tthis.pieces.push(this.text.substring(this.index, end));\n\t\treturn this.pieces.join('');\n\t}\n\treturn undefined;\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/rebuilder.js",
"type": "application/javascript"
},
"$:/config/flibbles/relink/attributes/$button/set": {
"title": "$:/config/flibbles/relink/attributes/$button/set",
"text": "reference"
},
"$:/config/flibbles/relink/attributes/$button/setTo": {
"title": "$:/config/flibbles/relink/attributes/$button/setTo",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$button/to": {
"title": "$:/config/flibbles/relink/attributes/$button/to",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$checkbox/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$checkbox/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$checkbox/tag": {
"title": "$:/config/flibbles/relink/attributes/$checkbox/tag",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$count/filter": {
"title": "$:/config/flibbles/relink/attributes/$count/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$draggable/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$draggable/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$draggable/filter": {
"title": "$:/config/flibbles/relink/attributes/$draggable/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$edit-text/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$edit-text/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$edit/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$edit/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$encrypt/filter": {
"title": "$:/config/flibbles/relink/attributes/$encrypt/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$fieldmangler/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$fieldmangler/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$fields/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$fields/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$image/source": {
"title": "$:/config/flibbles/relink/attributes/$image/source",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$importvariables/filter": {
"title": "$:/config/flibbles/relink/attributes/$importvariables/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$linkcatcher/to": {
"title": "$:/config/flibbles/relink/attributes/$linkcatcher/to",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$linkcatcher/set": {
"title": "$:/config/flibbles/relink/attributes/$linkcatcher/set",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$link/to": {
"title": "$:/config/flibbles/relink/attributes/$link/to",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$list/filter": {
"title": "$:/config/flibbles/relink/attributes/$list/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$list/template": {
"title": "$:/config/flibbles/relink/attributes/$list/template",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$list/editTemplate": {
"title": "$:/config/flibbles/relink/attributes/$list/editTemplate",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$list/history": {
"title": "$:/config/flibbles/relink/attributes/$list/history",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$navigator/story": {
"title": "$:/config/flibbles/relink/attributes/$navigator/story",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$navigator/history": {
"title": "$:/config/flibbles/relink/attributes/$navigator/history",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$radio/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$radio/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$range/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$range/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$reveal/stateTitle": {
"title": "$:/config/flibbles/relink/attributes/$reveal/stateTitle",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$select/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$select/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$setvariable/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$setvariable/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$setvariable/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$setvariable/subtiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$setvariable/filter": {
"title": "$:/config/flibbles/relink/attributes/$setvariable/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$set/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$set/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$set/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$set/subtiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$set/filter": {
"title": "$:/config/flibbles/relink/attributes/$set/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$tiddler/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$tiddler/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$transclude/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$transclude/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$transclude/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$transclude/subtiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$view/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$view/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$view/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$view/subtiddler",
"text": "title"
},
"$:/plugins/flibbles/relink/configuration": {
"title": "$:/plugins/flibbles/relink/configuration",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/flibbles/relink/Configuration]!has[draft.of]]\" \"$:/plugins/flibbles/relink/ui/configuration/Fields\">>\n</div>\n"
},
"$:/config/flibbles/relink/fields/filter": {
"title": "$:/config/flibbles/relink/fields/filter",
"text": "filter"
},
"$:/config/flibbles/relink/fields/list": {
"title": "$:/config/flibbles/relink/fields/list",
"text": "list"
},
"$:/config/flibbles/relink/fields/list-after": {
"title": "$:/config/flibbles/relink/fields/list-after",
"text": "title"
},
"$:/config/flibbles/relink/fields/list-before": {
"title": "$:/config/flibbles/relink/fields/list-before",
"text": "title"
},
"$:/config/flibbles/relink/fields/tags": {
"title": "$:/config/flibbles/relink/fields/tags",
"text": "list"
},
"$:/plugins/flibbles/relink/language/Buttons/Delete/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/Delete/Hint",
"text": "delete"
},
"$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint",
"text": "go to defining tiddler"
},
"$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint",
"text": "Specify a new widget/element attribute to be updated whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Buttons/NewField/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewField/Hint",
"text": "Specify a new field to be updated whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewField/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewField/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint",
"text": "Specify a new filter operator to be considered whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint",
"text": "Specify a new macro parameter to be updated whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Error/InvalidAttributeName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidAttributeName",
"text": "Illegal characters in attribute name \"<$text text=<<attributeName>>/>\". Attributes cannot contain slashes ('/'), closing angle or square brackets ('>' or ']'), quotes or apostrophes ('\"' or \"'\"), equals ('='), or whitespace"
},
"$:/plugins/flibbles/relink/language/Error/InvalidElementName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidElementName",
"text": "Illegal characters in element/widget name \"<$text text=<<elementName>>/>\". Element tags can only contain letters and the characters hyphen (`-`) and dollar sign (`$`)"
},
"$:/plugins/flibbles/relink/language/Error/InvalidMacroName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidMacroName",
"text": "Illegal characters in macro name \"<$text text=<<macroName>>/>\". Macros cannot contain whitespace"
},
"$:/plugins/flibbles/relink/language/Error/InvalidParameterName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidParameterName",
"text": "Illegal characters in parameter name \"<$text text=<<parameterName>>/>\". Parameters can only contain letters, digits, and the characters underscore (`_`) and hyphen (`-`)"
},
"$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator": {
"title": "$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator",
"text": "Filter Error: Unknown suffix for the 'relink' filter operator"
},
"$:/plugins/flibbles/relink/language/Error/ReportFailedRelinks": {
"title": "$:/plugins/flibbles/relink/language/Error/ReportFailedRelinks",
"text": "Relink could not update '<<from>>' to '<<to>>' inside the following tiddlers:"
},
"$:/plugins/flibbles/relink/language/Error/UnrecognizedType": {
"title": "$:/plugins/flibbles/relink/language/Error/UnrecognizedType",
"text": "Relink parse error: Unrecognized field type '<<type>>'"
},
"$:/plugins/flibbles/relink/language/Help/Attributes": {
"title": "$:/plugins/flibbles/relink/language/Help/Attributes",
"text": "See the [[Attributes documentation page|https://flibbles.github.io/tw5-relink/#Attributes]] for details."
},
"$:/plugins/flibbles/relink/language/Help/Fields": {
"title": "$:/plugins/flibbles/relink/language/Help/Fields",
"text": "See the [[Fields documentation page|https://flibbles.github.io/tw5-relink/#Fields]] for details."
},
"$:/plugins/flibbles/relink/language/Help/Macros": {
"title": "$:/plugins/flibbles/relink/language/Help/Macros",
"text": "See the [[Macros documentation page|https://flibbles.github.io/tw5-relink/#Macros]] for details."
},
"$:/plugins/flibbles/relink/language/Help/Operators": {
"title": "$:/plugins/flibbles/relink/language/Help/Operators",
"text": "See the [[Operators documentation page|https://flibbles.github.io/tw5-relink/#Operators]] for details."
},
"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty": {
"title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty",
"text": "No tiddlers contain any fields, links, macros, transclusions, or widgets referencing this one"
},
"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description": {
"title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description",
"text": "The following tiddlers contain fields, links, macros, transclusions, or widgets referencing this one:"
},
"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption": {
"title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption",
"text": "//Relink// References"
},
"$:/plugins/flibbles/relink/language/ui/Attributes/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Attributes/Caption",
"text": "Attributes"
},
"$:/plugins/flibbles/relink/language/ui/Fields/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Fields/Caption",
"text": "Fields"
},
"$:/plugins/flibbles/relink/language/ui/Macros/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Macros/Caption",
"text": "Macros"
},
"$:/plugins/flibbles/relink/language/ui/Operators/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Operators/Caption",
"text": "Operators"
},
"$:/config/flibbles/relink/macros/csvtiddlers/filter": {
"title": "$:/config/flibbles/relink/macros/csvtiddlers/filter",
"text": "filter"
},
"$:/config/flibbles/relink/macros/datauri/title": {
"title": "$:/config/flibbles/relink/macros/datauri/title",
"text": "title"
},
"$:/config/flibbles/relink/macros/jsontiddler/title": {
"title": "$:/config/flibbles/relink/macros/jsontiddler/title",
"text": "title"
},
"$:/config/flibbles/relink/macros/jsontiddlers/filter": {
"title": "$:/config/flibbles/relink/macros/jsontiddlers/filter",
"text": "filter"
},
"$:/config/flibbles/relink/macros/list-links/filter": {
"title": "$:/config/flibbles/relink/macros/list-links/filter",
"text": "filter"
},
"$:/config/flibbles/relink/macros/list-links-draggable/tiddler": {
"title": "$:/config/flibbles/relink/macros/list-links-draggable/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate": {
"title": "$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate",
"text": "title"
},
"$:/config/flibbles/relink/macros/list-tagged-draggable/tag": {
"title": "$:/config/flibbles/relink/macros/list-tagged-draggable/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate": {
"title": "$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate",
"text": "title"
},
"$:/config/flibbles/relink/macros/toc/tag": {
"title": "$:/config/flibbles/relink/macros/toc/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/toc/selectedTiddler": {
"title": "$:/config/flibbles/relink/macros/toc/selectedTiddler",
"text": "title"
},
"$:/config/flibbles/relink/macros/toc/template": {
"title": "$:/config/flibbles/relink/macros/toc/template",
"text": "title"
},
"$:/config/flibbles/relink/macros/tabs/buttonTemplate": {
"title": "$:/config/flibbles/relink/macros/tabs/buttonTemplate",
"text": "title"
},
"$:/config/flibbles/relink/macros/tabs/default": {
"title": "$:/config/flibbles/relink/macros/tabs/default",
"text": "title"
},
"$:/config/flibbles/relink/macros/tabs/tabsList": {
"title": "$:/config/flibbles/relink/macros/tabs/tabsList",
"text": "filter"
},
"$:/config/flibbles/relink/macros/tabs/template": {
"title": "$:/config/flibbles/relink/macros/tabs/template",
"text": "title"
},
"$:/config/flibbles/relink/macros/tag/tag": {
"title": "$:/config/flibbles/relink/macros/tag/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/tag-pill/tag": {
"title": "$:/config/flibbles/relink/macros/tag-pill/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/timeline/subfilter": {
"title": "$:/config/flibbles/relink/macros/timeline/subfilter",
"text": "filter"
},
"$:/config/flibbles/relink/operators/list": {
"title": "$:/config/flibbles/relink/operators/list",
"text": "reference"
},
"$:/config/flibbles/relink/operators/tag": {
"title": "$:/config/flibbles/relink/operators/tag",
"text": "title"
},
"$:/config/flibbles/relink/operators/title": {
"title": "$:/config/flibbles/relink/operators/title",
"text": "title"
},
"$:/config/flibbles/relink/operators/field:title": {
"title": "$:/config/flibbles/relink/operators/field:title",
"text": "title"
},
"$:/language/EditTemplate/Title/Impossibles/Prompt": {
"title": "$:/language/EditTemplate/Title/Impossibles/Prompt",
"text": "''Warning:'' Not all references in the following tiddlers can be updated by //Relink// due to the complexity of the new title:"
},
"$:/language/EditTemplate/Title/References/Prompt": {
"title": "$:/language/EditTemplate/Title/References/Prompt",
"text": "The following tiddlers will be updated if relinking:"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Use //Relink// to update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' across all other tiddlers"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\" tabindex={{$:/config/EditTabIndex}}/>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[all[relinkable]relink:references<fromTitle>limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$tiddler tiddler=<<fromTitle>> >\n\n<$set\n\tname=\"prompt\"\n\tfilter=\"[all[relinkable]relink:impossible<toTitle>]\"\n\tvalue=\"EditTemplate/Title/Impossibles/Prompt\"\n\temptyValue=\"EditTemplate/Title/References/Prompt\" >\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}}\n<$macrocall $name=lingo title=<<prompt>> />\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}}\n<$macrocall $name=lingo title=<<prompt>> />\n</$button>\n</$reveal>\n</$set>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$list variable=\"listItem\" filter=\"[all[relinkable]!title[$:/StoryList]relink:references<fromTitle>sort[title]]\" template=\"$:/plugins/flibbles/relink/ui/ListItemTemplate\">\n</$list>\n</$reveal>\n</$tiddler>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
},
"$:/plugins/flibbles/relink/readme": {
"title": "$:/plugins/flibbles/relink/readme",
"type": "text/vnd.tiddlywiki",
"text": "When renaming a tiddler, Relink can update the fields, filters, and widgets\nof all other tiddlers. However, it works through whitelisting.\n\nIt's already configured to update tiddler titles for all core widgets, filters,\nand fields, but the whitelists can be customized for each of this in the\nconfiguration panel.\n\nSee [[the tw5-relink website|https://github.com/flibbles/tw5-relink]] for\nmore details and examples.\n"
},
"$:/config/flibbles/relink/settings/default-type": {
"title": "$:/config/flibbles/relink/settings/default-type",
"text": "title"
},
"$:/plugins/flibbles/relink/ui/ListItemTemplate": {
"title": "$:/plugins/flibbles/relink/ui/ListItemTemplate",
"text": "<$set\n\tname=\"classes\"\n\tfilter=\"[<listItem>relink:impossible<toTitle>]\"\n\tvalue=\"tc-menu-list-item tc-relink-impossible\"\n\temptyValue=\"tc-menu-list-item\">\n<div class=<<classes>>>\n<$link to=<<listItem>>><$text text=<<listItem>> /></$link>\n</div>\n</$set>\n"
},
"$:/plugins/flibbles/relink/ui/TiddlerInfo/References": {
"title": "$:/plugins/flibbles/relink/ui/TiddlerInfo/References",
"caption": "{{$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption}}",
"tags": "$:/tags/TiddlerInfo",
"text": "\\define lingo-base() $:/plugins/flibbles/relink/language/TiddlerInfo/\n\\define filter() [relink:references<currentTiddler>!title[$:/StoryList]!prefix[$:/temp/]sort[title]]\n<$list filter=\"[subfilter<filter>first[]]\">\n\n<<lingo References/Description>>\n</$list>\n\n<table class=\"tc-relink-references-table\">\n<tbody>\n<$list filter=<<filter>> emptyMessage=<<lingo References/Empty>> variable=\"listItem\" template=\"$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate\" />\n</tbody>\n</table>\n"
},
"$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate": {
"title": "$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate",
"text": "<tr class=\"tc-relink-references\">\n<td class=\"tc-relink-references-title\">\n<$link to=<<listItem>>/>\n</td>\n<td class=\"tc-relink-references-report\">\n<$list filter=\"[<listItem>relink:report<currentTiddler>]\">\n\n<$text text=<<currentTiddler>> />\n</$list>\n\n</td>\n</tr>\n"
},
"$:/plugins/flibbles/relink/ui/components/button-delete": {
"title": "$:/plugins/flibbles/relink/ui/components/button-delete",
"text": "\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define prefix() $:/config/flibbles/relink/\n\n<$list filter=\"[all[current]prefix<prefix>]\" >\n<$button class=\"tc-btn-invisible\" tooltip={{$:/plugins/flibbles/relink/language/Buttons/Delete/Hint}}><$list filter=\"[all[current]is[tiddler]]\">\n<$action-deletetiddler $tiddler=<<currentTiddler>> />\n</$list><$list filter=\"[all[current]is[shadow]]\">\n<$action-setfield $tiddler=<<tiddlerName>> text=\"\" />\n</$list>\n{{$:/core/images/delete-button}}\n</$button>\n</$list><$list filter=\"[all[current]!prefix<prefix>]\">\n<$link><$button class=\"tc-btn-invisible\" tooltip={{$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint}}>{{$:/core/images/link}}</$button></$link>\n</$list>\n"
},
"$:/plugins/flibbles/relink/ui/components/select-fieldtype": {
"title": "$:/plugins/flibbles/relink/ui/components/select-fieldtype",
"text": "\\define prefix() $:/config/flibbles/relink/\n\n<$vars type={{{ [<signature>relink:type[]] }}} >\n<$list filter=\"[all[current]prefix<prefix>]\" >\n<$select tiddler=<<currentTiddler>> >\n<$list variable=\"option\" filter=\"[relink:types[]]\">\n<option><$text text=<<option>> /></option>\n</$list>\n</$select>\n</$list><$list filter=\"[all[current]!prefix<prefix>]\">\n<$text text=<<type>> />\n</$list>\n</$vars>\n"
},
"$:/plugins/flibbles/relink/ui/components/tables": {
"title": "$:/plugins/flibbles/relink/ui/components/tables",
"text": "\\define .make-table(title, plugin, default-table-state:yes)\n\n<$list variable=\"render\" filter=\"[relink:signatures<__plugin__>prefix<__category__>first[]]\">\n<$set name=\"table-state\" value=<<qualify \"\"\"$:/state/flibbles/relink/tables/$title$\"\"\">>>\n<tr><th class=\"tc-relink-header-plugin\" colspan=<<column-count>> >\n<$reveal type=\"nomatch\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<table-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} ''$title$''\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<table-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}} ''$title$''\n</$button>\n</$reveal>\n</th></tr>\n<$list\n\tvariable=\"signature\"\n\tfilter=\"[relink:signatures<__plugin__>prefix<__category__>sort[]]\">\n<$vars key={{{ [<signature>removeprefix<__category__>removeprefix[/]] }}} >\n<$tiddler tiddler={{{[<signature>relink:source[]]}}} >\n<$reveal tag=\"tr\" type=\"match\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$macrocall $name=<<__list-row-macro__>> signature=<<signature>> />\n<td class=\"tc-relink-column-type\">{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td class=\"tc-relink-column-delete\">{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</$reveal>\n</$tiddler>\n</$vars>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define tables(category, list-row-macro, header-list)\n<$vars\n\tcolumn-count={{{[enlist<__header-list__>] [[DeleteColumn]] +[count[]]}}}>\n\n<table class=\"tc-relink-whitelist\"><tbody>\n<tr>\n<$list variable=\"header\" filter=\"[enlist<__header-list__>butlast[]]\"><th><<header>></th></$list>\n<!-- We have the last column extend into the delete/link column, which is unlabeled. -->\n<th colspan=2><$text text={{{ [enlist<__header-list__>last[]] }}} /></th>\n</tr>\n\n<<.make-table Custom \"\" yes>>\n\n<<.make-table Core \"$:/plugins/flibbles/relink\">>\n\n<$list\n\tfilter=\"[plugin-type[plugin]![$:/core]![$:/plugins/flibbles/relink]]\">\n<$set name=\"subtitle\" value={{!!description}} emptyValue={{!!title}} >\n<$macrocall $name=\".make-table\" title=<<subtitle>> plugin=<<currentTiddler>> />\n</$set>\n</$list>\n\n</tbody></table>\n</$vars>\n\\end\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Attributes": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Attributes",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Attributes/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define prefix-attr() $:/config/flibbles/relink/attributes/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define element-name-tiddler() $:/state/flibbles/relink/element-name\n\\define attribute-name-tiddler() $:/state/flibbles/relink/attribute-name\n\n\\define row()\n<$set name=\"element\"\n filter=\"[<key>splitbefore[/]removesuffix[/]]\">\n<$set name=\"attribute\"\n filter=\"[<key>removeprefix<element>removeprefix[/]]\">\n<td><$text text=<<element>> /></td>\n<td><$text text=<<attribute>> /></td>\n</$set></$set>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Attributes}}\n\n<em class=\"tc-edit\">Add a new attribute:</em>\n<$edit-text\n\ttiddler=<<element-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"widget/element\" />\n<$edit-text\n\ttiddler=<<attribute-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"attribute\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<element-name-tiddler>> >\n<$reveal type=\"nomatch\" text=\"\" state=<<attribute-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewAttribute/Hint}}\n\taria-label={{$(lingo-base)$NewAttribute/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-attribute\"\n\telement={{$(element-name-tiddler)$}}\n\tattribute={{$(attribute-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<attribute-name-tiddler>> />\n<$action-deletetiddler $tiddler=<<element-name-tiddler>> />\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<attribute-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<element-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$reveal>\n\n<$macrocall\n\t$name=tables\n\tcategory=\"attributes\"\n\theader-list=\"[[Widget/HTML Element]] Attribute Type\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Fields": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Fields",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Fields/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define field-name-tiddler() $:/state/flibbles/relink/field-name\n\n\\define row()\n<td><$text text=<<key>> /></td>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Fields}}\n\n<em class=\"tc-edit\">Add a new field:</em>\n<$edit-text\n\ttiddler=<<field-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"field name\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<field-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewField/Hint}}\n\taria-label={{$(lingo-base)$NewField/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-field\"\n\tfield={{$(field-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<field-name-tiddler>> />\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<field-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n</$reveal>\n\n\n<$macrocall\n\t$name=tables\n\tcategory=\"fields\"\n\theader-list=\"[[Field Name]] [[Field Type]]\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Macros": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Macros",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Macros/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define prefix-macro() $:/config/flibbles/relink/macros/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define macro-name-tiddler() $:/state/flibbles/relink/macro-name\n\\define parameter-name-tiddler() $:/state/flibbles/relink/parameter-name\n\n\\define row()\n<$set name=\"parameter\"\n filter=\"[<key>relink:splitafter[/]]\">\n<$set name=\"macro\"\n filter=\"[<key>removesuffix<parameter>removesuffix[/]]\">\n<td><$text text=<<macro>> /></td>\n<td><$text text=<<parameter>> /></td>\n</$set></$set>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Macros}}\n\n<em class=\"tc-edit\">Add a new macro parameter:</em>\n<$edit-text\n\ttiddler=<<macro-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"macro\" />\n<$edit-text\n\ttiddler=<<parameter-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"parameter\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<macro-name-tiddler>> >\n<$reveal type=\"nomatch\" text=\"\" state=<<parameter-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewParameter/Hint}}\n\taria-label={{$(lingo-base)$NewParameter/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-parameter\"\n\tmacro={{$(macro-name-tiddler)$}}\n\tparameter={{$(parameter-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<parameter-name-tiddler>> />\n<$action-deletetiddler $tiddler=<<macro-name-tiddler>> />\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<parameter-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<macro-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$reveal>\n\n\n<$macrocall\n\t$name=tables\n\tcategory=\"macros\"\n\theader-list=\"Macro Parameter Type\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Operators": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Operators",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Operators/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define operator-name-tiddler() $:/state/flibbles/relink/operator-name\n\n\\define row()\n<td><$text text=<<key>> /></td>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Operators}}\n\n<em class=\"tc-edit\">Add a new filter operator:</em>\n<$edit-text\n\ttiddler=<<operator-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"operator name\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<operator-name-tiddler>>>\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewOperator/Hint}}\n\taria-label={{$(lingo-base)$NewOperator/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-operator\"\n\toperator={{$(operator-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<operator-name-tiddler>> />\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<operator-name-tiddler>>>\n<$button>\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n</$reveal>\n\n<$macrocall\n\t$name=tables\n\tcategory=\"operators\"\n\theader-list=\"[[Filter Operator]] [[Operand Type]]\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/stylesheet.css": {
"title": "$:/plugins/flibbles/relink/ui/stylesheet.css",
"text": ".tc-relink-references {\n}\n\n.tc-relink-references-table {\n\twidth: 100%;\n\tborder: none;\n}\n\n.tc-relink-references-table td {\n\tborder-left: none;\n}\n\n.tc-relink-references-table tr:first-child td {\n\tborder-top: none;\n}\n\n.tc-relink-references-title {\n\ttext-align: left;\n\tvertical-align: top;\n}\n\n.tc-relink-references-occurrence {\n\tfont-style: italic;\n\ttext-align: left;\n\tfont-weight: 200;\n\tpadding-left: 25px;\n\tvertical-align: top;\n}\n\n.tc-relink-header-plugin {\n\ttext-align: left;\n}\n\n.tc-relink-header-plugin button {\n\twidth: 100%\n}\n\n.tc-relink-column-type {\n\twidth: 8em;\n}\n\n.tc-relink-column-type select {\n\twidth: 100%;\n}\n\n.tc-relink-column-delete {\n\tborder-left: none;\n\ttext-align: left;\n}\n\n.tc-relink-column-delete button {\n\tpadding-left: 1em;\n}\n\n.tc-relink-impossible a.tc-tiddlylink {\n\tcolor: red;\n}\n",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
}
}
}
{
"tiddlers": {
"$:/plugins/ihm/tidgraph/changelog": {
"created": "20151024161547099",
"creator": "ihm4u",
"modified": "20151031061347109",
"modifier": "ihm4u",
"tags": "",
"title": "$:/plugins/ihm/tidgraph/changelog",
"text": "For the complete changelog see\n\nhttps://ihm4u.github.io/tw5plugs/#Tidgraph%20-%20Changelog\n"
},
"$:/plugins/ihm/tidgraph/documentation": {
"title": "$:/plugins/ihm/tidgraph/documentation",
"text": "!!Example\nThe following example shows a tiddler which tags 7 children:\n\n``<$tidgraph start=\"Virtues\" />``\n\nlooks like this:\n\n{{$:/plugins/ihm/tidgraph/tidgraph.png}}\n\n!!Usage\nSimple usage:\n\n``<$tidgraph start=\"MyRootTiddler\" />``\n\nThe map will start with MyRootTiddler on the left, and show all its children recursively. The default maximum depth is 10 levels, it can be changed with the `maxdepth` attribute.\n\nAll options:\n\n|!Attribute |!Description|!Default |\n|`start` |Initial tiddler that starts the map | none |\n|`startat` |First level to display. 0 is the root tiddler named in the `start` attribute. 1 is the next level, etc. | 0 |\n|`maxdepth` |Maximum depth to display.| 10 |\n|`mode` |//tagging// or //linking// or custom. This is how to identify the children of a node. With //tagging// Tiddlers that tag other tiddlers become their parent. With //linking// tiddlers that link to other tiddlers become their parent. A custom mode can be specified by a `$:/config/tidgraph/modes/MyMode` tiddler where `MyMode` is the name of the mode. The subfilter can be also specified directly; e.g. `mode=\"fields[]\"`. See [[Custom Mode Demo|https://ihm4u.github.io/tw5plugs/#Custom%20Mode%20Demo]] for an example | //tagging// |\n|`nodetitle` |Field to use as title for the node. | //title// (or //caption// if present) |\n|`tooltip` |List of fields to use for node tooltip. The first field with a non empty value is used. | //summary// |\n|`filter` |Only tiddlers matching filter will be used | none |\n|`nocollapse` |Disable ability to collapse nodes. The graph allows node collapsing by default. | false |\n|`nodetemplate` |One or mode node templates to make node look like you want. See the [[Node Templates Demo|https://ihm4u.github.io/tw5plugs/#Node%20Templates%20Demo]] for examples of how to use them. | none |\n|`layout` |`E` for East (Vertical) or `S` for south (Horizontal) layout. | E |\n\n!CSS classes\nYou can also change colors, and other styles with the following CSS classes.\n\n|!Class |!Description |\n|tgr-node |Style for each node. If you want to change the color of the links inside the node use the `.tgr-node a` selector. |\n|tgr-edge |Style for the SVG path that connects the nodes. The old name was tgr-link. |\n|tgr-arrow |Style for the SVG polyline that draws the arrow at the end of the link |\n"
},
"$:/plugins/ihm/tidgraph/readme": {
"created": "20151024054526558",
"modified": "20151024065317719",
"tags": "",
"title": "$:/plugins/ihm/tidgraph/readme",
"text": "!!How\nSimply put this in your tiddler:\n\n``<$tidgraph start=\"MyRootTiddler\" />``\n\nThere are other options covered in the [[documentation|$:/plugins/ihm/tidgraph/documentation]].\n\n!!Features\n* No third-party libraries\n* Light weight\n* Rendering of map/graph with HTML5 and SVG (no heavy png or jpg images)\n* Automatic map/graph creation, no need for dragging/connecting/etc\n* Figures out tree-graph by means of tags or links, or custom modes \n* Collapse/expand nodes\n* User defined Node Templates!!\n\n!!Limitations\n* Layout is horizontal from left to right, if needed a vertical layout will be added later\n"
},
"$:/plugins/ihm/tidgraph/stylesheet": {
"tags": "$:/tags/Stylesheet",
"title": "$:/plugins/ihm/tidgraph/stylesheet",
"type": "text/css",
"text": "/*Eliminate border in table and cells*/\n.ihm-tgr-table {\n border-collapse: collapse;\n border: none;\n background-color: transparent;\n padding: 0;\n margin: 0;\n}\n\n.ihm-tgr-tablediv {\n /* We need this margin to prevent spurius vertical scroll\n * in tgr-container. It needs to have the SAME pixel value\n * as top and left in tgr-svg-int class so that the SVG\n * arrows match properly (this assures same origin coordinates\n * for table and svg)\n */\n margin: 10px; \n}\n\n.tgr-container table td {\n border: none;\n background-color: transparent;\n}\n\n/*nice round box around tiddlers*/\n.tgr-container td a {\n \n}\n\n.tgr-container {\n position:relative; \n left:0px; \n top:0px; \n background-color: transparent;\n overflow: auto; /* This is needed to scroll on big maps */\n z-index:1;\n}\n.tgr-svg-int { \n\tz-index: -1;\n\tposition:absolute;\n\tbackground-color:transparent;\n\topacity: 1;\n left: 10px;\n top: 10px;\n}\n\n/* SVG arrows */\n.ihm-tgr-link {\n fill: none;\n stroke-width: 2;\n stroke: #aeb0b5;\n}\n\n.tgr-edge-weak {\n stroke-dasharray: 3,5;\n}\n\n.tgr-arrow {\n fill: #aeb0b5;\n stroke-width: 0;\n}\n\n.ihm-tgr-node-container {\n position: relative;\n}\n\n.ihm-tgr-node-container-east {\n margin: 6px 10px;\n}\n\n.ihm-tgr-node-container-south {\n margin: 16px 4px;\n display: inline-block; /*FIXME*/\n}\n\n.ihm-tgr-node-container p {\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n.ihm-tgr-node {\n background-color: #dce4ef;\n border-radius: 15px;\n padding: 0.1em 0.4em;\n /* border: 0px dashed #cd2026; */\n box-shadow: 4px 4px 5px #888888;\n text-align: center;\n vertical-align: middle;\n font-size: 1em;\n color: #0071bc;\n}\n\n/* Collapse feature */\n.ihm-tgr-collapse {\n position: absolute;\n cursor: pointer;\n width: 14px;\n height: 14px;\n right: -14px;\n}\n\n.ihm-tgr-collapse-east {\n top: 50%;\n transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n -webkit-transform: translateY(-50%);\n}\n\n.ihm-tgr-collapse-south {\n left: 50%;\n transform: translateX(-50%);\n -ms-transform: translateX(-50%);\n -webkit-transform: translateX(-50%);\n}\n\na.ihm-tgr-collapse:hover {\n text-decoration: none;\n background: #999999;\n}\n\n/* Vertical layout divs */\n.ihm-tgr-divtable {\n display: table;\n}\n\n.ihm-tgr-node-group {\n display: table-row;\n}\n\n.ihm-tgr-node-cell {\n display: table-cell;\n vertical-align: top;\n text-align: center;\n}\n"
},
"$:/plugins/ihm/templates/collapse": {
"created": "20151120174133063",
"modified": "20151120180705805",
"tags": "",
"title": "$:/plugins/ihm/templates/collapse",
"type": "text/vnd.tiddlywiki",
"text": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\"\n\t y=\"0px\" width=\"14px\" height=\"14px\" >\n<circle cx=\"7\" cy=\"7\" r=\"6\" stroke=\"#aeb0b5\" stroke-width=\"1\" fill=\"#aeb0b5\"/>\n<polyline points=\"4,7 10,7\" fill=\"none\" stroke=\"white\"/>\n</svg>\n"
},
"$:/plugins/ihm/templates/expand": {
"created": "20151120174133063",
"modified": "20151120180705805",
"tags": "",
"title": "$:/plugins/ihm/templates/expand",
"type": "text/vnd.tiddlywiki",
"text": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\"\n\t y=\"0px\" width=\"14px\" height=\"14px\" >\n<circle cx=\"7\" cy=\"7\" r=\"6\" stroke=\"#aeb0b5\" stroke-width=\"1\" fill=\"#aeb0b5\"/>\n<polyline points=\"4,7 10,7 7,7 7,10 7,4\" fill=\"none\" stroke=\"white\"/>\n</svg>\n"
},
"$:/plugins/ihm/tidgraph/utils.js": {
"text": "/*\\\ntitle: $:/plugins/ihm/tidgraph/utils.js\ntype: application/javascript\nmodule-type: library\n\nInternal utility functions for tidgraph plugin.\n\n\\*/\n(function(){function u(a){var c=a.getBoundingClientRect(),b=document.body,e=document.documentElement,g=c.top-(a.scrollTop||window.pageYOffset||e.scrollTop||b.scrollTop)-(e.clientTop||b.clientTop||0);a=c.left-(a.scrollLeft||window.pageXOffset||e.scrollLeft||b.scrollLeft)-(e.clientLeft||b.clientLeft||0);return{top:g,left:a,width:c.width,height:c.height,right:a+c.width,bottom:g+c.height}}function q(a,c,b){b=b||function(a,b,c){if(a)return!0};a=$tw.utils.parseStringArray(a);for(var e=a.length,g=c.length,\nf=0;f<g;f++)for(var h=0;h<e;h++){var d=$tw.wiki.getTiddler(c[f]);if(d&&(d=d.getFieldString(a[h]),b(d,a[h],c[f])))return d}return\"\"}function x(a){var c=!1;return(a=q(\"_tgr_node_class _tgr_node_class_add\",[a.id,a.template],function(a,e,g){if(a)return c=\"_tgr_node_class_add\"===e?!0:!1,!0}))&&\"tgr-default\"!==a?c?\"ihm-tgr-node tgr-node \"+a:a:\"ihm-tgr-node tgr-node\"}function w(a,c,b){var e;a=u(a);if(\"string\"===typeof b){if(e=document.querySelector(b),null==e)return null}else b instanceof HTMLElement&&(e=\nb);var g=u(e);b=g.bottom-a.top;e=g.left-a.left;var f=g.right-a.left;a=g.top-a.top;g=\"\";switch(c.toUpperCase()){case \"L\":g=[Math.round(e),Math.round(b/2+a/2)];break;case \"R\":g=[Math.round(f),Math.round(b/2+a/2)];break;case \"T\":g=[Math.round(f/2+e/2),Math.round(a)];break;case \"B\":g=[Math.round(f/2+e/2),Math.round(b)]}return g}function y(a,c,b,e,g){var f;a:{var h=u(c),d=u(b);f=h.left+h.width/2;var h=h.top+h.height/2,n=d.left+d.width/2,d=d.top+d.height/2;switch(e){case \"E\":f=4>n-f?[\"R\",\"R\"]:[\"R\",\"L\"];\nbreak a;case \"S\":f=4>d-h?[\"B\",\"B\"]:[\"B\",\"T\"];break a}f=void 0}d=w(a,f[0],c);a=w(a,f[1],b);var m,l,h=10,n=\"\";g&&(n=' class=\"tgr-edge-weak\"');if(null==c||null==b)return error(\"can't connect null element\");if(null==d)return error(\"port not found for \"+c.tagName+\" - \"+c.innerHTML);if(null==a)return error(\"port not found for \"+b.tagName+\" - \"+b.innerHTML);c=Math.abs(a[1]-d[1]);b=Math.abs(a[0]-d[0]);switch(e){case \"E\":return a[1]>d[1]&&(m=c/2),a[1]<d[1]&&(m=-c/2),5>c&&(m=0),\"L\"==f[1]&&(l=-10),\"R\"==f[1]&&\n(l=10,h=20),'<path d=\"M'+d[0]+\",\"+d[1]+\" Q\"+(d[0]+h)+\",\"+d[1]+\" \"+(d[0]+h)+\",\"+(d[1]+m)+\" Q\"+(d[0]+h)+\",\"+a[1]+\" \"+(a[0]+l)+\",\"+a[1]+'\"'+n+' marker-end=\"url(#tgr-arrow)\"/>';case \"S\":return a[0]>d[0]&&(l=b/2),a[0]<d[0]&&(l=-b/2),5>b&&(l=0),\"T\"==f[1]&&(m=-10,h=10),\"B\"==f[1]&&(m=10,h=20),'<path d=\"M'+d[0]+\",\"+d[1]+\" Q\"+d[0]+\",\"+(d[1]+h)+\" \"+(d[0]+l)+\",\"+(d[1]+h)+\" Q\"+a[0]+\",\"+(d[1]+h)+\" \"+a[0]+\",\"+(a[1]+m)+'\"'+n+' marker-end=\"url(#tgr-arrow)\"/>'}}function v(a,c){var b;switch(c.mode){case \"tagging\":b=\n\"[[\"+a+\"]tagging[]]+\"+c.filter;break;case \"linking\":b=\"[[\"+a+\"]links[]!is[missing]]+\"+c.filter;break;default:b=\"[[\"+a+\"]\"+c.mode+\"]+\"+c.filter}return $tw.wiki.filterTiddlers(b)}function z(a,c,b){switch(b.mode.toLowerCase()){case \"tagging\":return(b=$tw.wiki.getTiddler(a))?b.hasTag(c):!1;default:return b=v(c,b),-1!==b.indexOf(a)}}function A(a,c){function b(b,l,k){h=l;d=b;n=encodeURIComponent(h);m=encodeURIComponent(d);g=document.getElementById(c.id+\"-\"+n);f=document.getElementById(c.id+\"-\"+m);g&&f&&\ne.push(y(a,g,f,c.layout,k))}var e=[],g,f,h,d,n,m;p(c.root,function(a,c,d){(c=a.parent)&&b(a.id,c.id)},{},{skipvisited:!0});for(var l=c.outliers.length,k=0;k<l;k++)b(c.outliers[k][0],c.outliers[k][1],!0);return e.join(\" \")}function p(a,c,b,e){e=e||{};var g=e.done||[],f=e.getCh||function(a){return a.collapse?[]:a.children},h=e.lvl||0,d=void 0===e.skipvisited?!0:e.skipvisited;e.leave=e.leave||!1;if(d&&-1!==g.indexOf(a))return b;g.push(a);f=f(a);d=f.length;b=b||{};e.lvl=h+1;e.done=g;if(!1===c(a,b,h))return e.leave=\n!0,b;for(a=0;a<d;a++)if(b=p(f[a],c,b,e),e.leave)return b;e.lvl--;return b}function B(a,c,b,e){e=e||{};var g=e.getCh||function(a){return a.collapse?[]:a.children},f=e.getId||function(a){return a.id},h=void 0===e.skipvisited?!0:e.skipvisited,d=e.maxdepth||Number.MAX_VALUE;b=b||{};var n=[],m=[],l=[],k=0;n.push(a);l[f(a)]=void 0;do{a=n.length;for(var q=0;q<a;q++){var r=n.shift(),p;p=h?-1===m.indexOf(r)?!1:!0:!1;if(!p&&!1===c(r,l[f(r)],b,k))return b;m.push(r);p=g(r);n=n.concat(p);p&&p.forEach(function(a){var b=\nl[f(a)];b?f(b)!==f(r)&&e.outlier&&e.outlier(a,r):l[f(a)]=r})}k++}while(0!==n.length&&k<=d);return b}function C(a,c){return p(a,function(a,c){c.cnt++;return!0},{cnt:0},{skipvisited:c}).cnt-1}function D(a,c,b){function e(a,b){if(-1!==$tw.utils.parseStringArray(b).indexOf(c.toString()))return!0}b=$tw.utils.parseStringArray(b);var g=q(\"_tgr_node_template\",[a]),f=[];$tw.utils.each(b,function(b){var c=$tw.wiki.getTiddler(b),c=c?c.getFieldString(\"_tgr_node_filter\"):\"\",d=$tw.wiki.filterTiddlers(c);c&&-1===\nd.indexOf(a)&&f.push(b)});0<f.length&&$tw.utils.removeArrayEntries(b,f);g||q(\"_tgr_node_filter\",b,function(b,c,d){c=$tw.wiki.filterTiddlers(b);if(b&&-1!==c.indexOf(a))if(b=$tw.wiki.getTiddler(d).getFieldString(\"_tgr_node_level\")){if(e(d,b))return g=d,!0}else return g=d,!0});g||q(\"_tgr_node_level\",b,function(a,b,c){if(e(c,a))return g=c,!0});if(!g)for(var h=b.length,d=0;d<h;d++){var n=$tw.wiki.getTiddler(b[d]);if(n&&!n.hasField(\"_tgr_node_level\")&&!n.hasField(\"_tgr_node_filter\")){g=b[d];break}}g||(g=\n\"tgr-default\");return g}function t(a,c,b,e){if(!(this instanceof t))throw\"Error: call new tnode(id=\"+c+\")\";this.parent=a;this.id=c;this.children=[];this.collapse=!1;this.widget=e;this.template=void 0;a=D(c,b,e.nodetemplate);\"tgr-default\"!==a&&(this.transcluder=b=\"$:/temp/tidgraph/\"+e.tidtree.id+\"/\"+c,this.template=a,$tw.wiki.addTiddler(new $tw.Tiddler({title:b,text:\"{{\"+c+\"||\"+a+\"}}\"})),-1===e.templatesInUse.indexOf(a)&&e.templatesInUse.push(a))}exports.buildTable=function(a,c){function b(a,b){return $tw.utils.domMaker(a,\n$tw.utils.extend(b,{document:c.document}))}function e(a){var d=encodeURIComponent(a.id),e;var f=a.id;e=$tw.wiki.tiddlerExists(f)?c.nodetitle?q(c.nodetitle,[f]):q(\"caption title\",[f]):f;var g=$tw.wiki.tiddlerExists(a.id)?\"tc-tiddlylink-resolves\":\"tc-tiddlylink-missing\",g=\"tc-tiddlylink \"+g,f=x(a);a.template?a=b(\"div\",{\"class\":f,innerHTML:$tw.wiki.renderTiddler(\"text/html\",a.transcluder)}):(a=b(\"a\",{\"class\":g,text:e,attributes:{href:\"#\"+d}}),a=b(\"div\",{\"class\":f,children:[a]}));return a}function g(a,\nd){var e=1+C(a,!0),f=encodeURIComponent(a.id),g=q(c.tooltip,[a.id]),k;!1===c.nocollapse&&a.children&&0<a.children.length?(k=$tw.wiki.renderTiddler(\"text/html\",\"$:/plugins/ihm/templates/\"+(a.collapse?\"expand\":\"collapse\")).replace(/^<p>/,\"<span>\").replace(/<\\/p>$/,\"</span>\"),k=b(\"span\",{\"class\":\"ihm-tgr-collapse \"+(\"E\"==a.widget.tidtree.layout?\"ihm-tgr-collapse-east\":\"ihm-tgr-collapse-south\")+\" tc-tiddlylink\",innerHTML:k}),$tw.utils.addEventListeners(k,[{name:\"click\",handlerObject:a,handlerMethod:\"collapseClickEvent\"}]),\nk=[d,k]):k=[d];f=b(\"div\",{\"class\":\"ihm-tgr-node-container \"+(\"E\"==a.widget.tidtree.layout?\"ihm-tgr-node-container-east\":\"ihm-tgr-node-container-south\"),children:k,attributes:{id:c.id+\"-\"+f,title:g}});return\"E\"===c.layout?b(\"td\",{attributes:{rowspan:e},children:[f]}):b(\"div\",{attributes:{\"class\":\"ihm-tgr-node-cell\"},children:[f]})}var f;f=\"E\"==c.layout?b(\"table\",{\"class\":\"ihm-tgr-table\",attributes:{id:c.id+\"-table\"}}):b(\"div\",{\"class\":\"ihm-tgr-divtable\",attributes:{id:c.id+\"-table\"}});(function(a){switch(c.layout){case \"E\":p(c.root,\nfunction(d,f,m){m>=c.startat&&(f=e(d),d=g(d,f),d=b(\"tr\",{children:[d]}),a.appendChild(d));return!0},{},{skipvisited:!0});break;case \"S\":p(c.root,function(d,f,m){if(m>=c.startat){var l=e(d),l=g(d,l),k=f.nodegroup[f.nodegroup.length-1];k?m>=f.lastdepth?k.appendChild(l):m<f.lastdepth&&(f.nodegroup.pop(),k=f.nodegroup[f.nodegroup.length-1],k.appendChild(l)):a.appendChild(l);!d.collapse&&0<d.children.length&&(d=b(\"div\",{\"class\":\"ihm-tgr-node-group\"}),f.nodegroup.push(d),l.appendChild(d))}f.lastdepth=m;\nreturn!0},{nodegroup:[],lastdepth:-1},{skipvisited:!0})}})(f);return f};exports.error=function(a){return'<span style=\"color:green; font-size:1.5em\">\\u26a0 Tidgraph: </span><span style=\"color:red\">'+a+\"</span>\"};exports.buildSVG=function(a,c){var b=document.getElementById(c.id+\"-table\");if(b)return getComputedStyle(b),'<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"'+a.offsetHeight+'px\" width=\"'+a.offsetWidth+'px\" style=\"overflow: visible\"><g class=\"ihm-tgr-link tgr-link tgr-edge\" style=\"overflow: visible\"> <defs> <marker id=\"tgr-arrow\" viewBox=\"0 0 10 10\" refX=\"1\" refY=\"5\" markerUnits=\"strokeWidth\" orient=\"auto\" markerWidth=\"8\" markerHeight=\"6\"> <polyline class=\"ihm-tgr-arrow tgr-arrow\" points=\"0,0 10,5 0,10 0,5\" style=\"opacity:1;\" /></marker></defs> '+\nA(a,c)+\"</g> </svg>\"};exports.isDescendant=function(a,c,b){if(z(a,c,b))return!0;var e=!1;p(c,function(b,c,h){if(b===a)return e=!0,!1},{},{skipvisited:!0,getCh:function(a){return v(a,b)}});return e};exports.makeTidTree=function(a,c,b){b=b||{};var e=!1;c.outliers=[];var g=new t(void 0,a,0,b.widget);B(a,function(a,c,d,e){if(c){a:{for(var g=d.visited,l=g.length,k=0;k<l;k++)if(g[k].id===c){c=g[k];break a}c=void 0}a=c.addChild(a,e,b.widget);d.visited.push(a)}return!0},{visited:[g]},{getId:function(a){return a},\ngetCh:function(a){return v(a,c)},maxdepth:c.maxdepth,skipvisited:!0,outlier:function(a,b){e=!1;$tw.utils.each(c.outliers,function(c){c[0]===a&&c[1]===b&&(e=!0)});e||c.outliers.push([a,b])}});return g};t.prototype.addChild=function(a,c,b){a=new t(this,a,c,b);this.children.push(a);return a};t.prototype.toString=function(){return\"tnode(id=\"+this.id+\")\"};t.prototype.collapseClickEvent=function(a){this.collapse=!this.collapse;this.widget.paint()}})();\n",
"title": "$:/plugins/ihm/tidgraph/utils.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/ihm/tidgraph/tidgraph.png": {
"created": "20151024064703806",
"modified": "20151024064720670",
"title": "$:/plugins/ihm/tidgraph/tidgraph.png",
"type": "image/png",
"text": "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\n"
},
"$:/plugins/ihm/widgets/tidgraph.js": {
"text": "/*\\\ntitle: $:/plugins/ihm/widgets/tidgraph.js\ntype: application/javascript\nmodule-type: widget\n\nTidgraph widget to render HTML5/SVG graph of tiddlers\n\n\\*/\n(function(){var e=require(\"$:/core/modules/widgets/widget.js\").widget,c=function(b,f){this.initialise(b,f)},d=require(\"$:/plugins/ihm/tidgraph/utils.js\");c.prototype=new e;c.prototype.render=function(b,f){this.tidtree&&this.delTempTiddlers();this.parentDomNode=b;this.nextSiblingDomNode=f;this.computeAttributes();this.execute();-1===[\"tagging\",\"linking\"].indexOf(this.mode)&&(this.mode=$tw.wiki.getTiddlerText(\"$:/config/tidgraph/modes/\"+this.mode)||this.mode);this.tidtree=[];this.tidtree.mode=this.mode;\nthis.tidtree.maxdepth=this.maxdepth;this.tidtree.startat=this.startat;this.tidtree.nodetitle=this.nodetitle;this.tidtree.tooltip=this.tooltip;this.tidtree.filter=this.filter;this.tidtree.nocollapse=this.nocollapse;this.tidtree.document=this.document;this.tidtree.nodetemplate=this.nodetemplate;this.tidtree.layout=this.layout;this.templatesInUse=$tw.utils.parseStringArray(this.nodetemplate);this.tidtree.id=(new Date).valueOf();if($tw.wiki.getTiddler(this.startTid)){this.div=this.document.createElement(\"div\");\nthis.div.className=\"tgr-container tgr\";this.tablediv=this.document.createElement(\"div\");this.tablediv.className=\"ihm-tgr-tablediv\";this.table=void 0;this.div.appendChild(this.tablediv);this.svgdiv=this.document.createElement(\"div\");this.svgdiv.className=\"tgr-svg-int\";this.div.appendChild(this.svgdiv);this.parentDomNode.insertBefore(this.div,this.nextSiblingDomNode);this.domNodes.push(this.div);this.tidtree.root=d.makeTidTree(this.startTid,this.tidtree,{widget:this});this.paint();var a=this,c=function(){a.svgdiv.innerHTML=\nd.buildSVG(a.tablediv,a.tidtree);a.oldresize&&a.oldresize()},e=function(){a.svgdiv.innerHTML=d.buildSVG(a.tablediv,a.tidtree)};this.div.onscroll=function(){a.scroll_to||clearTimeout(a.scroll_to);a.scroll_to=setTimeout(e,100)};this.onresize_updated||(window.onresize&&void 0==this.oldresize&&(this.oldresize=window.onresize),window.onresize=function(){a.resize_to||clearTimeout(a.resize_to);a.resize_to=setTimeout(c,100)},this.onresize_updated=!0)}};c.prototype.delTempTiddlers=function(){var b=$tw.wiki.filterTiddlers(\"[prefix[$:/temp/tidgraph/\"+\nthis.tidtree.id+\"]]\");$tw.utils.each(b,function(b){$tw.wiki.deleteTiddler(b)})};c.prototype.paint=function(){this.sidebar=$tw.wiki.getTiddlerText(\"$:/state/sidebar\");var b=d.buildTable(this.startTid,this.tidtree);this.table?this.tablediv.replaceChild(b,this.table):this.tablediv.appendChild(b);this.svgdiv.innerHTML=d.buildSVG(this.tablediv,this.tidtree);this.table=b};c.prototype.execute=function(){this.startTid=this.getAttribute(\"start\");this.mode=this.getAttribute(\"mode\",\"tagging\");this.maxdepth=\nparseInt(this.getAttribute(\"maxdepth\",\"10\"));this.startat=this.getAttribute(\"startat\",\"0\");this.nodetitle=this.getAttribute(\"nodetitle\");this.tooltip=this.getAttribute(\"tooltip\",\"summary\");this.filter=this.getAttribute(\"filter\",\"[!is[system]]\");this.nocollapse=this.hasAttribute(\"nocollapse\");this.nodetemplate=this.getAttribute(\"nodetemplate\",\"\");this.layout=this.getAttribute(\"layout\",\"E\");-1==[\"E\",\"S\"].indexOf(this.layout)&&(this.layout=\"E\")};c.prototype.refresh=function(b){var c=!1,a;this.computeAttributes();\nthis.execute();for(a in b)if((b=document.getElementById(this.tidtree.id+\"-\"+encodeURIComponent(a))||d.isDescendant(a,this.startTid,this.tidtree)||-1!==this.templatesInUse.indexOf(a))||(b=(b=$tw.wiki.getTiddler(a))&&b.hasTag(\"$:/tags/Stylesheet\")?!0:!1),b||-1!==a.indexOf(\"$:/config/tidgraph/modes\")){c=!0;break}$tw.wiki.getTiddlerText(\"$:/state/sidebar\")!==this.sidebar&&(c=!0);return c?(this.refreshSelf(),!0):!1};exports.tidgraph=c})();\n",
"title": "$:/plugins/ihm/widgets/tidgraph.js",
"type": "application/javascript",
"module-type": "widget"
}
}
}
{
"tiddlers": {
"$:/plugins/snowgoon88/edit-comptext/config": {
"title": "$:/plugins/snowgoon88/edit-comptext/config",
"type": "application/json",
"text": "{\n \"configuration\": {\n \"caseSensitive\" : false,\n \"maxMatch\" : 8,\n \"minPatLength\" : 2,\n \"triggerKeyCombination\" : \"^ \"\n },\n \"template\": [{\n \"pattern\": \"[[\",\n \"filter\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[\",\n \"end\": \"]]\"\n }\n ]\n}\n"
},
"$:/plugins/snowgoon88/edit-comptext/edit-comptext.js": {
"title": "$:/plugins/snowgoon88/edit-comptext/edit-comptext.js",
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/edit-comptext.js\ntype: application/javascript\nmodule-type: widget\n\nTaken from original Edit-text widget\nVersion 5.1.13 of TW5\nAdd link-to-tiddler completion in framed.js and simple.js\n\nTODO : CHECK usefull, and particularly save_changes after every input ??\nTODO : where should popupNode be created in the DOM ?\nTODO : check that options are valid (numeric ?)\nvar isNumeric = function(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedCompEngine = require(\"$:/plugins/snowgoon88/edit-comptext/framed.js\").FramedCompEngine,\n\tSimpleCompEngine = require(\"$:/plugins/snowgoon88/edit-comptext/simple.js\").SimpleCompEngine;\n\nexports[\"edit-comptext\"] = editTextWidgetFactory(FramedCompEngine,SimpleCompEngine);\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/snowgoon88/edit-comptext/examples": {
"title": "$:/plugins/snowgoon88/edit-comptext/examples",
"text": "The configuration file [[$:/plugins/snowgoon88/edit-comptext/config]] allow you to use the completion plugin for various usages. Here are some examples...\n\n!! Link Completion\nThe basic and default usage. Completion is triggered by `[[`, the search is among all non-system tiddlers. When selected, the `title` of the tiddler is inserted in the text, surrounded by `[[` and `]]`. This gives the following Completion Template.\n\n\n```\n{\n \"pattern\": \"[[\",\n \"title\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[\",\n \"end\": \"]]\"\n}\t \n```\n\n\n!! Special macro completion\nI have a 'pnjin' macro that is invoked by `<<pnjin \"TiddlerPNJName\">>` where 'TiddlerPNJName is a tiddler that hold data about a PNJ. I use tiddlywiki to organise my Role Playing Games campaigns. So, I want `<p` to trigger the completion. The search is among all non-system tiddlers tagged `PNJ` and, once selected, the title of the tiddler must be inserted surrouned by `<<pnjin \\\"` and `\\\">>`. So...\n\n```\n{\n\t\"pattern\": \"<p\",\n \t\"title\": \"[tag[PNJ]!is[system]]\",\n \t\"start\": \"<<pnjin \\\"\",\n \t\"end\": \"\\\">>\"\n}\n```\n\n!! Insert some templates or stamp or snippets into text.\nI frequently use some text pattern and I want to insert them easily. So, I could create several tiddlers, tagged '$:stamp' and in their body are the piece of texte I want to insert. The titles of these tiddlers always start with `$:/config/stamp/` (i.e. $:/config/stamp/macro, $:/config/stamp/list1, $:/config/stamp/list2). I want to trigger the completion by using `<<`, then I only want to chose among the last part of the titles of tiddlers tagged `$:stamp` so I use a mask (`$:/config/stamp/`) to only display the last part of the tiddlers title. When selectected, the `body` of the tiddler is inserted, with no surrounding strings. As a results, the Completion Template is (notice the `body` field):\n\n```\n{\n \"pattern\": \"<<\",\n \"body\": \"[tag[$:stamp]]\",\n \"mask\" : \"$:/config/stamp/\",\n \"start\": \"\",\n \"end\": \"\"\n}\n```\n\n!! And you ?\nIf you have funny usages of completion, let me know. If you'd like to do something that is not yet possible, let me know...\n\nmail : snowgoon88(AT)gmail(DOT)com"
},
"$:/plugins/snowgoon88/edit-comptext/framed.js": {
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/framed.js\ntype: application/javascript\nmodule-type: library\n\nTaken from $:/core/modules/editor/engines/framed.js\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\n// Configuration tiddler\nvar COMPLETION_OPTIONS = \"$:/plugins/snowgoon88/edit-comptext/config\";\nvar Completion = require(\"$:/plugins/snowgoon88/edit-comptext/completion.js\").Completion;\n\t\nfunction FramedCompEngine(options) {\n //DEBUG console.log( \"==FramedCompEngine::creation\" );\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\n\t// Completion\n\t// Load Completion configuration as JSON\n this._configOptions = $tw.wiki.getTiddlerData( COMPLETION_OPTIONS, {} );\n\t\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create dummy popup for reading its styles\n\t//this._dummyCompletion = new Completion( this.widget, this.dummyTextArea, this._configOptions);\n\t//REMOVEthis._dummyCompletion.setAttribute(\"hidden\",\"true\");\n\t\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n\n\t// add Completion popup\n this._completion = new Completion( this.widget, this.domNode, this._configOptions, this.dummyTextArea, this.iframeNode.offsetTop, this.iframeNode.offsetLeft );\n\t// print iframe offset\n\t//DEBUG console.log( \" __iframe.offsetLeft: \"+this.iframeNode.offsetLeft );\n //DEBUG console.log( \" __iframe.offsetTop: \"+this.iframeNode.offsetTop );\n \n\t// Copy all styles from dummyCompletion\n\t//$tw.utils.copyStyles(this._dummyCompletion._popNode, this._completion._popNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\t//this._completion._popNode.style.display = \"block\";\n\t//this._completion._popNode.style.width = \"100%\";\n\t//this._completion._popNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\t//this._completion._popNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n \n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedCompEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedCompEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedCompEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedCompEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedCompEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedCompEngine.prototype.handleInputEvent = function(event) {\n //DEBUG console.log( \"__framed.js::handleInputEvent\");\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedCompEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedCompEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedCompEngine = FramedCompEngine;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/framed.js",
"module-type": "library"
},
"$:/plugins/snowgoon88/edit-comptext/simple.js": {
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/simple.js\ntype: application/javascript\nmodule-type: library\n\nTaken from $:/core/modules/editor/engines/simple.js\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\n// Configuration tiddler\nvar COMPLETION_OPTIONS = \"$:/plugins/snowgoon88/edit-comptext/config\";\nvar Completion = require(\"$:/plugins/snowgoon88/edit-comptext/completion.js\").Completion;\n\nfunction SimpleCompEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\n // Completion\n\t// Load Completion configuration as JSON\n this._configOptions = $tw.wiki.getTiddlerData( COMPLETION_OPTIONS, {} );\n\t\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n\n\t// add Completion popup\n this._completion = new Completion( this.widget, this.domNode, this._configOptions );\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleCompEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleCompEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleCompEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleCompEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleCompEngine.prototype.handleInputEvent = function(event) {\n\tconsole.log( \"__simple.js::handleInputEvent\");\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleCompEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleCompEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleCompEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleCompEngine = SimpleCompEngine;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/simple.js",
"module-type": "library"
},
"$:/plugins/snowgoon88/edit-comptext/cursor-position.js": {
"text": "/*\\\nModule that compute the pixel position of the cursor of a text\nements.\n\nTaken from https://github.com/component/textarea-caret-position\n\n(as https://github.com/kir/js_cursor_position is not updated any more)\n\\*/\n// Fonction anonyme executée immediatement\n( function(){\n \n// The properties that we copy into a mirrored div.\n// Note that some browsers, such as Firefox,\n// do not concatenate properties, i.e. padding-top, bottom etc. -> padding,\n// so we have to do every single property specifically.\nvar properties = [\n 'direction', // RTL support\n 'boxSizing',\n 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n 'height',\n 'overflowX',\n 'overflowY', // copy the scrollbar for IE\n\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderStyle',\n\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n 'fontStyle',\n 'fontVariant',\n 'fontWeight',\n 'fontStretch',\n 'fontSize',\n 'fontSizeAdjust',\n 'lineHeight',\n 'fontFamily',\n\n 'textAlign',\n 'textTransform',\n 'textIndent',\n 'textDecoration', // might not make a difference, but better be safe\n\n 'letterSpacing',\n 'wordSpacing',\n\n 'tabSize',\n 'MozTabSize'\n\n];\nvar isFirefox = false;\nif($tw.browser) {\n isFirefox = window.mozInnerScreenX != null;\n}\n\nfunction getCaretCoordinates(element, position, options) {\n\n var debug = options && options.debug || false;\n if (debug) {\n var el = document.querySelector('#input-textarea-caret-position-mirror-div');\n if ( el ) { el.parentNode.removeChild(el); }\n }\n\n // mirrored div\n var div = document.createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n document.body.appendChild(div);\n\n var style = div.style;\n var computed;\n if($tw.browser) {\n computed = window.getComputedStyle? getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n } \n else {\n computed = element.currentStyle;\n }\n \n\n // default textarea styles\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT')\n style.wordWrap = 'break-word'; // only for textarea-s\n\n // position off-screen\n style.position = 'absolute'; // required to return coordinates properly\n if (!debug)\n style.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n // transfer the element's properties to the div\n properties.forEach(function (prop) {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'\n }\n\n div.textContent = element.value.substring(0, position);\n // the second special handling for input type=\"text\" vs textarea: spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n if (element.nodeName === 'INPUT')\n div.textContent = div.textContent.replace(/\\s/g, \"\\u00a0\");\n\n var span = document.createElement('span');\n // Wrapping must be replicated *exactly*, including when a long word gets\n // onto the next line, with whitespace at the end of the line before (#7).\n // The *only* reliable way to do that is to copy the *entire* rest of the\n // textarea's content into the <span> created at the caret position.\n // for inputs, just '.' would be enough, but why bother?\n span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n div.appendChild(span);\n\n var coordinates = {\n top: span.offsetTop + parseInt(computed['borderTopWidth']),\n left: span.offsetLeft + parseInt(computed['borderLeftWidth'])\n };\n\n if (debug) {\n span.style.backgroundColor = '#aaa';\n } else {\n document.body.removeChild(div);\n }\n\n return coordinates;\n}\n\n// Exporte as a module of node.js otherwise set as global\nif (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n module.exports = getCaretCoordinates;\n} else {\n window.getCaretCoordinates = getCaretCoordinates;\n}\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/cursor-position.js",
"module-type": "library"
},
"$:/plugins/snowgoon88/edit-comptext/completion.js": {
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/completion.js\ntype: application/javascript\nmodule-type: library\n\nTry to make self-contained completion module.\n\nTo use this 'module', you need a `widget` with a kind of `editarea` node.\nI do not know the exacte prerequisites of this editarea node for the module to\nwork, but mostly one should be able to attach the following `eventHandler` to\nit:\n - input\n - keydown\n - keypress\n - keyup\nThe `widget` is needed because I use:\n - widget.document\n - widget.wiki.filterTiddlers(...)\n\nFrom the Widget, once you have a proper editarea, you just have to call\n - var completion = new Completion( theWidget, theEditAreaNode, configObject);\nwhere `configObject` is expected to have the following fields. if a field is missing, a default value will be given.\nOne can have many `elements' in the template array.\n\n{\n \"configuration\": {\n \"caseSensitive\" : false,\n \"maxMatch\" : 8,\n \"minPatLength\" : 2,\n \"triggerKeyCombination\" : \"^ \"\n },\n \"template\": [{\n \"pattern\": \"[[\",\n \"filter\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[\",\n \"end\": \"]]\"\n }\n ]\n}\n\nTODO : CHECK if needed\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// To compute pixel coordinates of cursor\nvar getCaretCoordinates = require(\"$:/plugins/snowgoon88/edit-comptext/cursor-position.js\");\n\n/** Default Completion Attributes */\nvar DEFATT = { maxMatch: 5, minPatLength: 2, caseSensitive: false, triggerKeyCombination: \"^ \" };\n\n/** \n * Struct for generic Completion Templates.\n * <ul>\n * <li>pat : pattern searched for.</li>\n * <li>filter : filter operation used to find the list of completion options</li>\n * <li>mask: replaced by \"\" when presenting completion options</li>\n * </ul>\n */\nvar Template = function( pat, filter, mask, field, start, end ) {\n this.pat = pat;\n this.filter = filter;\n this.mask = \"^\"+regExpEscape(mask);\n this.field = field;\n this.start = start;\n this.end = end;\n this.pos = 0;\n};\n/**\n * Struct for storing completion options, as we need to memorise \n * the titles of the tiddlers when masked and when body must be displayed.\n */\nvar OptCompletion = function( title, str ) {\n this.title = title;\n this.str = str;\n};\n\nvar keyMatchGenerator = function(combination) {\n\tlet singleMatchGenerator = function(character) {\n\t\tif (character === '^') {\n\t\t\treturn event => event.ctrlKey;\n\t\t}\n\t\telse if (character === '+') {\n\t\t\treturn event => event.shiftKey;\n\t\t}\n\t\telse if (character === '!') {\n\t\t\treturn event => event.altKey;\n\t\t}\n\t\telse {\n\t\t\treturn event => (event.keyCode || event.which) === character.charCodeAt(0);\n\t\t}\n\t};\n\n\tlet matchers = [];\n\tfor (let i = 0; i < combination.length; i++) {\n\t\tmatchers.push(singleMatchGenerator(combination[i]));\n\t}\n\n\treturn event => {\n\t\tfor (let i = 0; i < matchers.length; i++) {\n\t\t\tif (!matchers[i](event)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n};\n\n/**\n * Widget is needed in creating popupNode.\n * - widget.document\n * - widget.wiki.filterTiddlers(...)\n * - sibling : where to create the popup in the DOM.\n */\n\tvar Completion = function( editWidget, areaNode, param, sibling, offTop, offLeft ) {\n\tconsole.log( \"==Completion::creation\" );\n\n // About underlying Widget\n this._widget = editWidget;\n\tthis._areaNode = areaNode;\n\tthis._sibling = (typeof sibling !== 'undefined') ? sibling : this._areaNode;\n\tthis._offTop = (typeof offTop !== 'undefined') ? offTop : 0;\n\tthis._offLeft = (typeof offLeft !== 'undefined') ? offLeft : 0;\t\n\t\t\n // Completions attributes\n /** State */\n this._state = \"VOID\";\n this._template = undefined;\n /** Best matches */\n this._bestMatches = []; // An array of OptCompletion\n this._idxChoice = -1;\n /** Param */\n // maximum nb of match displayed\n this._maxMatch = param.configuration.maxMatch || DEFATT.maxMatch; \n this._minPatLength = param.configuration.minPatLength || DEFATT.minPatLength;\n this._caseSensitive= param.configuration.caseSensitive || DEFATT.caseSensitive;\n this._triggerKeyMatcher = keyMatchGenerator(param.configuration.triggerKeyCombination || DEFATT.triggerKeyCombination);\n /** Input information */\n this._lastChar = \"\";\n this._hasInput = false;\n /** List of Completion Templates */\n this._listTemp = [];\n \n // Read templates from Param\n if( param.template ) {\n \tvar idT;\n \tfor( idT=0; idT<param.template.length; idT++ ) {\n \t var temp = param.template[idT];\n\t // field 'body' ou 'title' (default)\n\t if( temp.body ) {\t\t\n \t\tthis._listTemp.push( \n \t\t new Template( temp.pattern, temp.body,\n\t\t\t\t temp.mask ? temp.mask : \"\",\n\t\t\t\t \"body\",\n \t\t\t\t temp.start, temp.end )\n \t\t);\n\t }\n\t else {\n \t\tthis._listTemp.push( \n \t\t new Template( temp.pattern, \n\t\t\t\t temp.title ? temp.title : temp.filter,\n\t\t\t\t temp.mask ? temp.mask : \"\",\n\t\t\t\t \"title\",\n \t\t\t\t temp.start, temp.end )\n \t\t);\n\t }\n\t //DEBUG temp = this._listTemp[this._listTemp.length-1];\n\t //DEBUG console.log( \"__CONF : \"+temp.pattern+\":\"+temp.filter+\":\"+temp.mask+\":\"+temp.field+\":\"+temp.start+\":\"+temp.end );\n \t}\n }\n // or defaut template\n else {\n \tthis._listTemp = [\n \t new Template( \"[[\", \"[all[tiddlers]!is[system]]\", \n\t\t\t \"\", \"title\",\n\t\t\t \"[[\", \"]]\" )\n \t];\n }\n // Create Popup\n\t//this._popNode = createPopup(this._widget, this._areaNode );\n\tthis._popNode = createPopup(this._widget, this._sibling );\t\n \n // Listen to the Keyboard\n $tw.utils.addEventListeners( this._areaNode,[\n\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInput\"},\n\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydown\"},\n\t{name: \"keypress\", handlerObject: this, handlerMethod: \"handleKeypress\"},\n \t{name: \"keyup\", handlerObject: this, handlerMethod: \"handleKeyup\"}\n ]);\n \n /** \n * Find the bestMatches among listChoice with given pattern\n * @param listChoice : array of String\n * @change : this._bestMatches => array of OptCompletion\n */\n this._findBestMatches = function( listChoice, pattern, nbMax) {\n\t// regexp search pattern, case sensitive\n\tvar flagSearch = this._caseSensitive ? \"\" : \"i\" ;\n\tvar regpat = RegExp( regExpEscape(pattern), flagSearch );\n\tvar regpat_start = RegExp( \"^\"+regExpEscape(pattern), flagSearch );\n\tvar regMask = RegExp( this._template.mask ? this._template.mask : \"\",\"\");\n\tvar nbMatch = 0;\n\t// nbMax set to _maxMatch if no value given\n\tnbMax = nbMax !== undefined ? nbMax : this._maxMatch;\n\n\t//DEBUG console.log( \"__FIND masked=\"+regMask+\" regPat=\"+regpat);\n\n\tthis._bestMatches= [];\n\tvar otherMatches = [];\n\t// We test every possible choice\n\tfor( var i=0; i< listChoice.length; i++ ) {\n\t // apply mask over potential choice\n\t var maskedChoice = listChoice[i].replace( regMask, \"\");\n\t // Test first if pattern is found at START of the maskedChoice\n\t // THEN added to BestMatches\n \t if( regpat_start.test( maskedChoice )) {\n\t\tif (nbMatch >= nbMax) {\n\t\t this._bestMatches.push( new OptCompletion(\"\",\"...\") );\n\t\t return;\n\t\t} else {\n\t\t this._bestMatches.push( new OptCompletion(listChoice[i],maskedChoice) );\n\t\t nbMatch += 1;\n\t\t}\n\t }\n\t // then if pattern is found WITHIN the maskedChoice\n\t // added AFTER the choices that starts with pattern\n\t else if( regpat.test( maskedChoice ) ) {\n\t\tif (nbMatch >= nbMax) {\n\t\t // add all otherMatches to _bestMatches\n\t\t this._bestMatches.push( new OptCompletion(\"\",\"<hr>\") ) ; //separator\n\t\t this._bestMatches = this._bestMatches.concat( otherMatches );\n\t\t this._bestMatches.push( new OptCompletion(\"\",\"...\") );\n\t\t return;\n\t\t} else {\n\t\t otherMatches.push( new OptCompletion(listChoice[i],maskedChoice) );\n\t\t nbMatch += 1;\n\t\t}\n\t }\n\t}\n\t// Here, must add the otherMatches\n\tthis._bestMatches.push( new OptCompletion(\"\",\"<hr>\") ) ; //separator\n\tthis._bestMatches = this._bestMatches.concat( otherMatches );\n };\n /**\n * Change Selected Status of Items\n */\n this._next = function (node) {\n\tvar count = node.children.length;\n\t//DEBUG console.log( \"__NEXT: co=\"+count+\" nbMatch=\"+this._bestMatches.length);\n\tif( this._bestMatches.length > 0 ) \n\t this._goto( node, this._idxChoice < count - 1 ? this._idxChoice + 1 : -1);\n\t//DEBUG this._logStatus( \"NexT\" );\n };\n this._previous = function (node) {\n\tvar count = node.children.length;\n\tvar selected = this._idxChoice > -1;\n\t//DEBUG console.log( \"__PREV: co=\"+count+\" nbMatch=\"+this._bestMatches.length);\n\tif( this._bestMatches.length > 0 ) \n\t this._goto( node, selected ? this._idxChoice - 1 : count - 1);\n\t//DEBUG this._logStatus( \"PreV\" );\n };\n // Should not be used, highlights specific item without any checks!\n this._goto = function (node, idx) {\n\tvar lis = node.children;\n\tvar selected = this._idxChoice > -1;\n\tif (selected) {\n\t lis[this._idxChoice].setAttribute(\"patt-selected\", \"false\");\n\t}\n\n\tthis._idxChoice = idx;\n \n\tif (idx > -1 && lis.length > 0) {\n\t lis[idx].setAttribute(\"patt-selected\", \"true\");\n\t}\n };\n /**\n * Abort pattern and undisplay.\n */\n this._abortPattern = function (displayNode) {\n\tthis._state = \"VOID\";\n\tthis._bestChoices = [];\n\tthis._idxChoice = -1;\n\tthis._undisplay( displayNode );\n\tthis._template = undefined;\n };\n /**\n * Display popupNode at the cursor position in areaNode.\n */\n this._display = function( areaNode, popupNode ) {\n\tif ( popupNode.style.display == 'none' ) {\n\t // Must get coordinate\n\t // Cursor coordinates within area + area coordinates + scroll\n var coord = getCaretCoordinates(areaNode, areaNode.selectionEnd);\n var styleSize = getComputedStyle(areaNode).getPropertyValue('font-size');\n var fontSize = parseFloat(styleSize); \n\t\t\n\t popupNode.style.left = (this._offLeft+areaNode.offsetLeft-areaNode.scrollLeft+coord.left) + 'px';\n\t popupNode.style.top = (this._offTop+areaNode.offsetTop-areaNode.scrollTop+coord.top+fontSize*2) + 'px';\n\t popupNode.style.display = 'block';\n\t}\n };\n /**\n * Undisplay someNode\n */\n this._undisplay = function( displayNode ) {\n\tif ( displayNode.style.display != 'none' ) {\n\t displayNode.style.display = 'none';\n\t}\n };\n\n /**\n * Used for debug\n */\n this._logStatus = function(msg) {\n\tconsole.log( \"__STATUS: \"+this._state+\":-\"+msg+\"- idx=\"+this._idxChoice );\n };\n\n};\n// **************************************************************************\n// ******************************************************************eventCbk\n// **************************************************************************\n/**\n * Disable the *effects* of ENTER / UP / DOWN / ESC when needed.\n * Set _hasInput to false.\n */\nCompletion.prototype.handleKeydown = function(event) {\n // key \n var key = event.keyCode;\n this._hasInput = false;\n \n //DEBUG console.log( \"__KEYDOWN (\"+key+\") hasI=\"+this._hasInput);\n \n // ENTER while selecting\n if( (this._state === \"PATTERN\" || this._state === \"SELECT\") && key === 13 ) {\n \tevent.preventDefault();\n \tevent.stopPropagation();\n }\n // ESC while selecting\n if( (this._state === \"PATTERN\" || this._state === \"SELECT\") && key === 27 ) {\n \tevent.preventDefault();\n \tevent.stopPropagation();\n }\n // UP/DOWN while a pattern is extracted\n if( (key===38 || key===40) && \n\t(this._state === \"PATTERN\" || this._state === \"SELECT\") ) {\n\tevent.preventDefault();\n }\n};\n/**\n * Means that something has been added/deleted => set _hasInput\n */\nCompletion.prototype.handleInput = function(event) {\n this._hasInput = true;\n //DEBUG console.log( \"__INPUT hasI=\"+this._hasInput );\n};\n\t\n/**\n * Set _lastChar, detects CTRL+SPACE.\n */\nCompletion.prototype.handleKeypress = function(event) {\n var curPos = this._areaNode.selectionStart; // cursor position\n var val = this._areaNode.value; // text in the area\n // key \n var key = event.keyCode || event.which;\n\t\n this._lastChar = String.fromCharCode(key);\n //DEBUG console.log( \"__KEYPRESS (\"+key+\") hasI=\"+this._hasInput+\" char=\"+this._lastChar );\n //DEBUG this._logStatus( \"KEYPRESS\" );\n \n // Detect Ctrl+Space\n if( this._triggerKeyMatcher(event) && this._state === \"VOID\" ) {\n\t//Find a proper Template\n\t// first from which we can extract a pattern\n\tif( this._template === undefined ) {\n\t //DEBUG console.log(\"__SPACE : find a Template\" );\n\t var idT, res;\n\t for( idT=0; idT < this._listTemp.length; idT++ ) {\n\t\tres = extractPattern( val, curPos, this._listTemp[idT] );\n\t\t//DEBUG console.log(\" t=\"+this._listTemp[idT].pat+\" res=\"+res);\n\t\t// res is not undefined => good template candidate\n\t\tif( res ) {\n\t\t this._template = this._listTemp[idT];\n\t\t this._state = \"PATTERN\";\n\t\t break;\n\t\t}\n\t }\n\t}\n\telse {\n\t //DEBUG console.log(\"__SPACE : already a template\" );\n\t this._state = \"PATTERN\";\n\t}\n }\n};\n/**\n * ESC -> abort; \n * Detect [ -> VOID switch to _state=PATTERN\n * PATTERN || SELECT : ENTER -> insertText\n * UP/DOWN -> previous/next\n * pattern.length > _minPatternLength -> display \n */\nCompletion.prototype.handleKeyup = function(event) {\n var curPos = this._areaNode.selectionStart; // cursor position\n var val = this._areaNode.value; // text in the area\n // key a\n var key = event.keyCode;\n \n //DEBUG console.log( \"__KEYUP (\"+key+\") hasI=\"+this._hasInput );\n \n // ESC\n if( key === 27 ) {\n\tthis._abortPattern( this._popNode );\n\t//DEBUG this._logStatus( \"\" );\n }\n // Check for every template\n if( this._hasInput && this._state === \"VOID\" ) {\n\t// check every template's pattern\n\tvar idT, template;\n\tfor( idT=0; idT < this._listTemp.length; idT++ ) {\n\t template = this._listTemp[idT];\n\t if( this._lastChar === template.pat[template.pos] ) {\n\t\ttemplate.pos += 1;\n\t\t//DEBUG console.log( \"__CHECK : pat=\"+template.pat+\" pos=\"+template.pos );\n\t\t// Pattern totaly matched ?\n\t\tif( template.pos === template.pat.length ) {\n\t\t //DEBUG console.log( \"__CHECK => found \"+template.pat );\n\t\t this._state = \"PATTERN\";\n\t\t this._template = template;\n\t\t \n\t\t break; // get out of loop\n\t\t}\n\t }\n\t else {\n\t\ttemplate.pos = 0;\n\t\t//DEBUG console.log( \"__CHECK : pat=\"+template.pat+\" pos=\"+template.pos );\n\t }\n\t}\n }\n // a pattern\n else if( this._state === \"PATTERN\" || this._state === \"SELECT\" ) {\n\t// Pattern below cursor : undefined if no pattern\n\tvar pattern = extractPattern( val, curPos, this._template );\n\tif( key === 13 ) { // ENTER\n\t //DEBUG console.log( \"KEY : Enter\" );\n \t // Choice made in the displayNode ?\n \t var selected = this._idxChoice > -1 && this._idxChoice !== this._maxMatch;\n \t //DEBUG console.log( \" > sel=\"+selected+\" len=\"+this._bestChoices.length );\n \t if( selected ) {\n \t\t//DEBUG console.log( \" > selected\" );\n\t\tvar temp = this._bestMatches[this._idxChoice];\n\t\tvar str = temp.str;\n\t\tif( this._template.field === \"body\" ) {\n\t\t str = $tw.wiki.getTiddlerText( temp.title );\n\t\t}\n \t\tinsertInto( this._areaNode,\n\t\t\t str,\n\t\t\t pattern.start, curPos, this._template );\n\t\t// save this new content\n\t\tthis._widget.saveChanges( this._areaNode.value );\n\t }\n\t // otherwise take the first choice (if exists)\n\t else if( this._bestMatches.length > 0 ) {\n \t\t//DEBUG console.log( \" > take first one\" );\n\t\tvar temp = this._bestMatches[0];\n\t\tvar str = temp.str;\n\t\tif( this._template.field === \"body\" ) {\n\t\t str = $tw.wiki.getTiddlerText( temp.title );\n\t\t}\n \t\tinsertInto( this._areaNode,\n\t\t\t str,\n\t\t\t pattern.start, curPos, this._template );\n\t\t// save this new content\n\t\tthis._widget.saveChanges( this._areaNode.value );\n\t }\n\t this._abortPattern( this._popNode );\n\t\t//DEBUG this._logStatus( \"\" );\n \t }\n\t else if( key === 38 && this._hasInput === false) { // up\n\t\tthis._state = \"SELECT\";\n \t\tevent.preventDefault();\n \t\tthis._previous( this._popNode );\n\t\t//DEBUG this._logStatus( pattern.text );\n \t\t//event.stopPropagation();\n \t }\n \t else if( key === 40 && this._hasInput === false) { // down\n\t\tthis._state = \"SELECT\";\n \t\tevent.preventDefault();\n \t\tthis._next( this._popNode );\n\t\t//DEBUG this._logStatus( pattern.text );\n \t\t//event.stopPropagation();\n \t }\n \t else if( pattern ) { // pattern changed by keypressed\n\t\tthis._idxChoice = -1;\n \t\t// log\n\t\t//DEBUG this._logStatus( pattern.text );\n \t\t// Popup with choices if pattern at least minPatLength letters long\n\t\tif( pattern.text.length > (this._minPatLength-1) ) {\n\t\t // compute listOptions from templateFilter\n\t\t var allOptions;\n\t\t if( this._template )\n\t\t\tallOptions = this._widget.wiki.filterTiddlers( this._template.filter );\n\t\t else\n\t\t\tallOptions = this._widget.wiki.filterTiddlers(\"[all[tiddlers]]\");\n\t\t this._findBestMatches( allOptions, pattern.text );\n \t\t this._popNode.innerHTML = \"\";\n \t\t //console.log( \"BC \"+ this._pattern + \" => \" + choice );\n \t\t if (this._bestMatches.length > 0) {\n\t\t\tfor( var i=0; i<this._bestMatches.length; i++) {\n \t\t\t this._popNode.appendChild( \n\t\t\t\titemHTML(this._bestMatches[i].str,\n\t\t\t\t\t pattern.text));\n \t\t\t}\n\t\t\tthis._display( this._areaNode, this._popNode );\t\t\t\n \t\t }\n\t\t else { // no matches\n\t\t\tthis._state = \"PATTERN\";\n\t\t\tthis._undisplay( this._popNode );\n\t\t }\n\t\t}\n \t }\n\t else { // no pattern detected\n\t\tthis._abortPattern( this._popNode );\n\t }\n\t}\n\t// to ensure that one MUST add an input (through onInput())\n\tthis._hasInput = false;\n};\n// **************************************************************************\n// ******************************************************** private functions\n// **************************************************************************\n/**\n * Create popup element.\n */\nvar createPopup = function( widget, node ) {\n // Insert a special \"div\" element for poping up\n // Its 'display' property in 'style' control its visibility\n var popupNode = widget.document.createElement(\"div\");\n popupNode.setAttribute( \"style\", \"display:none; position: absolute;\");\n popupNode.className = \"tc-block-dropdown ect-block-dropdown\";\n // Insert the element into the DOM\n node.parentNode.insertBefore(popupNode,node.nextSibling);\n //CHECK the domNodes is a attribute of Widget [widget.js]\n //CHECK this.domNodes.push(popupNode);\n \n return popupNode;\n};\n/**\n * Extract Pattern from text at a given position.\n *\n * Between previous template.pat (or '[[') and pos\n * \n * If no pattern -> undefined\n */\nvar extractPattern = function( text, pos, template ) {\n // Detect previous and next ]]=>STOP or [[=>START\n var sPat = template.pat ? template.pat : '[[';\n var pos_prevOpen = text.lastIndexOf( sPat, pos );\n var ePat = template.end ? template.end : ']]';\n var pos_prevClosed = text.lastIndexOf( ePat, pos );\n var pos_nextClosed = text.indexOf( ePat, pos );\n //DEBUG console.log(\"__CALC st=\"+sPat+\" -> en=\"+ePat );\n //DEBUG console.log(\"__CALC po=\"+pos_prevOpen+\" pc=\"+pos_prevClosed+\" nc=\"+pos_nextClosed+\" pos=\"+pos);\n pos_nextClosed = (pos_nextClosed >= 0) ? pos_nextClosed : pos;\n \n if( (pos_prevOpen >= 0) && // must be opened\n\t((pos_prevOpen > pos_prevClosed ) || // not closed yet\n\t (pos_prevClosed === pos))) { // closed at cursor\n\t//DEBUG console.log(\" pat=\"+text.slice( pos_prevOpen+sPat.length, pos) );\n\treturn { text: text.slice( pos_prevOpen+sPat.length, pos ),\n\t\t start: pos_prevOpen,\n\t\t end: pos_nextClosed\n\t };\n }\n};\n/**\n * Controls how list items are generated.\n * Function that takes two parameters :\n * - text : suggestion text\n * - input : the user’s input\n * Returns : list item. \n * Generates list items with the user’s input highlighted via <mark>.\n */\nvar itemHTML = function (text, input ) {\n // text si input === ''\n // otherwise, build RegExp that is global (g) and case insensitive (i)\n // to replace with <mark>$&</mark> where \"$&\" is the matched pattern\n var html = input === '' ? text : text.replace(RegExp(regExpEscape(input.trim()), \"gi\"), \"<mark>$&</mark>\");\n return create(\"li\", {\n\tinnerHTML: html,\n\t\"patt-selected\": \"false\"\n });\n};\n/**\n * Insert text into a textarea node, \n * enclosing in 'template.start..template.end'\n *\n * - posBefore : where the 'template.pat+pattern' starts\n * - posAfter : where the cursor currently is\n */\nvar insertInto = function(node, text, posBefore, posAfter, template ) {\n //DEBUG console.log( \"__INSERT : \"+template.pattern+\":\"+template.filter+\":\"+template.mask+\":\"+template.field+\":\"+template.start+\":\"+template.end );\n var val = node.value;\n var sStart = template.start !== undefined ? template.start : '[[';\n var sEnd = template.end !== undefined ? template.end : ']]';\n var newVal = val.slice(0, posBefore) + sStart + text + sEnd + val.slice(posAfter);\n //console.log(\"__INSERT s=\"+sStart+\" e=\"+sEnd);\n //console.log (\"__INSERT pb=\"+posBefore+\" pa=\"+posAfter+\" txt=\"+text);\n //console.log( \"NEW VAL = \"+newVal );\n // WARN : Directly modifie domNode.value.\n // Not sure it does not short-circuit other update methods of the domNode....\n // i.e. could use widget.updateEditor(newVal) from edit-comptext widget.\n // but how to be sure that cursor is well positionned ?\n node.value = newVal;\n node.setSelectionRange(posBefore+text.length+sStart.length+sEnd.length, posBefore+text.length+sStart.length+sEnd.length );\n};\n/**\n * Add an '\\' in front of -\\^$*+?.()|[]{}\n */\nvar regExpEscape = function (s) {\n return s.replace(/[-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n};\n/**\n * Add an element in the DOM.\n */\nvar create = function(tag, o) {\n var element = document.createElement(tag);\n \n for (var i in o) {\n\tvar val = o[i];\n\t\n\tif (i === \"inside\") {\n\t $(val).appendChild(element);\n\t}\n\telse if (i === \"around\") {\n\t var ref = $(val);\n\t ref.parentNode.insertBefore(element, ref);\n\t element.appendChild(ref);\n\t}\n\telse if (i in element) {\n\t element[i] = val;\n\t}\n\telse {\n\t element.setAttribute(i, val);\n\t}\n }\n \n return element;\n};\n\n\nexports.Completion = Completion;\n\n})();\n\n \n",
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/completion.js",
"module-type": "library"
},
"$:/plugins/snowgoon88/edit-comptext/edit-comptext.css": {
"text": "\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/* The \\rules pragma at the top of the tiddler restricts the WikiText \n * to just allow macros and transclusion. This avoids mistakenly \n * triggering unwanted WikiText processing.\n * \n * MUST not save as text/css for macro to be processed\n*/\n\n.ect-block-dropdown li {\n display: block;\n padding: 4px 14px 4px 14px;\n text-decoration: none;\n color: <<colour tiddler-link-foreground>>; /*#5778d8;*/ \n background: transparent;\n}\n.ect-block-dropdown li[patt-selected=\"true\"] {\n color: <<colour tiddler-link-background>>; /*#ffffff; */\n background-color: <<colour tiddler-link-foreground>>; /*#5778d8; */\n}\n.ect-block-dropdown li[patt-selected=\"true\"] mark {\n background: hsl(86, 100%, 21%);\n color: inherit;\n}\n\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/snowgoon88/edit-comptext/edit-comptext.css",
"tags": "[[$:/tags/Stylesheet]]"
},
"$:/plugins/snowgoon88/edit-comptext/readme": {
"title": "$:/plugins/snowgoon88/edit-comptext/readme",
"text": "!! What ?\nThis plugin adds ''completion'' when editing the body of a tiddler.\n\n* Enter completion-mode by typing `[[` or `CTRL+SPACE`\n* A list of tiddlers with a title that matches the pattern between `[[` and cursor appears\n* `UP/DOWN` keys can select a tiddler, `ENTER` to validate\n* If there is only one match, `ENTER` selects it.\n* `NEW` : you can specify you own trigger pattern and the list of possible completions. See [[$:/plugins/snowgoon88/edit-comptext/usage]] for more details.\n\n\n!! To try it or get the latest news\nSee [[http://snowgoon88.github.io/TW5-extendedit]]\n\n!! Install \n\nTo add the plugin to your own TiddlyWiki5, just drag this link to the browser window:\n\n[[$:/plugins/snowgoon88/edit-comptext]]\n\nSometime, a small configuration step is then needed\n\nin `$:/ControlPanel -> Advanced -> Editor Type -> text/vnd.tiddlywiki` you must chose `comptext` instead of `text`.\n\nReload and « voilà »...\n\nThis plugin is quite mature now :o)\n\n!! Old version\n\n* A version compatible with 5.0.8 to 5.1.11 : [[http://snowgoon88.github.io/TW5-extendedit/index_5.1.11.html]]\n\n!! Source code\nOn github [[https://github.com/snowgoon88/TW5-extendedit]]\n\nGet in touch : snowgoon88(AT)gmail(DOT)com\n"
},
"$:/plugins/snowgoon88/edit-comptext/usage": {
"title": "$:/plugins/snowgoon88/edit-comptext/usage",
"text": "''Important'' : be sure that in `$:/ControlPanel -> Advanced -> Editor Type -> text/vnd.tiddlywiki` you have chosen `comptext` instead of `text`.\n\nConfiguration of the edit-comptext plugin can be done through the tiddler [[$:/plugins/snowgoon88/edit-comptext/config]]. Use a JSON tiddler (do not forget to set the type to `application/json`. See some examples at [[$:/plugins/snowgoon88/edit-comptext/examples]]\n\nIn the `configuration` object you can set :\n\n* `caseSensitive`: `true`/`false` (is search case sensitive ?)\n* `maxMatch` : an `integer` (max number of match displayed)\n* `minPatLength` : an `integer` (minimal length of a pattern to trigger completion search)\n* `triggerKeyCombination ` : a `string` representing the key combination that triggers the autocompletion popup. To use modifier keys in your combination, use following conversions : `ctrl` -> `^`, `alt` -> `!`, `shift` -> `+`. Note: ` ` (literally a whitespace) represents the `space` key.\n\nIn the `template` array you can specify the various completion templates that will be used. Every template can have the following members.\n\n* `pattern` : `string` (pattern that triggers a completion, default \"[[\" )\n* `title` or `body`: `string` (the filter operators that gives the list of valid completions, default \"[all[tiddlers]!is[system]]\"). If you specify `body`, then the body of the tiddler will be inserted on selection.\n* `start` : `string` (when completion is chosen, start is put before the completion, default \"[[\")\n* `end` : `string` (when completion is chosen, end is put after the completion, default \"]]\")\n\n!! Current body of Config Tiddler\n\n{{$:/plugins/snowgoon88/edit-comptext/config}}\n\n"
}
}
}
{
"configuration": {
"caseSensitive" : false,
"maxMatch" : 8,
"minPatLength" : 2,
"triggerKeyCombination" : "^ "
},
"template": [{
"pattern": "[[",
"filter": "[all[tiddlers]!is[system]]",
"start": "[[",
"end": "]]"
}
]
}
{
"tiddlers": {
"$:/plugins/sq/editor-autolist/editor-operation-autolist": {
"text": "/*\\\ntitle: $:/plugins/sq/editor-autolist/editor-operation-autolist.js\ntype: application/javascript\nmodule-type: texteditoroperation\nText editor operation to automate syntax for lists\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"autolist\"] = function(event,operation) {\n\t\n\tvar lineStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\tvar lineEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selStart);\n\tvar line = operation.text.substring(lineStart,lineEnd);\t\n\t\n\tvar listPrefixRegex = /^((\\*|#)+).*/;\n\tvar match = line.match(listPrefixRegex);\n\t\n\tvar mode = event.paramObject? event.paramObject.mode : undefined;\n\t\n\t//ensure we only handle lines starting with * or #\n\tif(match != null && match[1]) {\n\t\t// check if we are handling indent level\n\t\tif(mode === \"indent\" || mode === \"unindent\") {\n\t\t\tvar indentRegExp = /^((\\*|#)+)(.*)$/;\n\t\t\tvar indentMatch = line.match(indentRegExp);\n\t\t\tif(indentMatch != null) {\n\t\t\t\t//check if the line has content\n\t\t\t\tvar content = (indentMatch[3].trim().length != 0) ? indentMatch[3].trim() : \"\";\n\t\t\t\toperation.cutStart = lineStart;\n\t\t\t\toperation.cutEnd = lineEnd;\n\t\t\t\tif(mode === \"indent\") {\t\t\t\t\n\t\t\t\t\t//indent a line\n\t\t\t\t\toperation.replacement = indentMatch[1] + indentMatch[2] + \" \" + content;\n\t\t\t\t\toperation.newSelStart = operation.selStart + 1;\n\t\t\t\t\toperation.newSelEnd = operation.selEnd + 1;\n\t\t\t\t} else if(mode === \"unindent\") {\n\t\t\t\t\t//unindent a line\n\t\t\t\t\toperation.replacement = indentMatch[1].substring(0,indentMatch[1].length - 1) + \" \" + content;\n\t\t\t\t\toperation.newSelStart = operation.selStart - 1;\n\t\t\t\t\toperation.newSelEnd = operation.selEnd - 1;\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t//handle enter key, meaning new line\n\t\t\tvar trimmed = match[0].replace(/\\s\\s*$/, '');\n\t\t\tvar prefixRegEx = /^((\\*|#)+)$/;\n\t\t\tvar trimmedMatch = trimmed.match(prefixRegEx);\n\t\t\tif(trimmedMatch != null) {\n\t\t\t\t// the line only contains * or # characters and optional whitespace\n\t\t\t\t//terminate the list\n\t\t\t\toperation.replacement = \"\\n\";\n\t\t\t\toperation.cutStart = lineStart;\n\t\t\t\toperation.cutEnd = operation.selStart;\n\t\t\t\toperation.newSelStart = lineStart + 1;\n\t\t\t\toperation.newSelEnd = lineStart + 1;\n\t\t\t} else {\n\t\t\t\t// continue indent level on next line\n\t\t\t\tvar prefix = match[1];\n\t\t\t\toperation.replacement = \"\\n\" + prefix + \" \";\n\t\t\t\toperation.cutStart = operation.selStart;\n\t\t\t\toperation.cutEnd = operation.selStart;\n\t\t\t\t\n\t\t\t\t//check if there is trailing whitespace on the line we are on\n\t\t\t\tvar lineEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selStart);\n\t\t\t\tvar trailingText = operation.text.substring(operation.selStart,lineEnd);\n\t\t\t\tif(trailingText.trim().length == 0) {\n\t\t\t\t\toperation.cutEnd = lineEnd;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toperation.newSelStart = operation.selStart + prefix.length + 2;\n\t\t\t\toperation.newSelEnd = operation.selEnd + prefix.length + 2;\n\t\t\t}\n\t\t}\n\t} else if(mode != \"indent\" && mode != \"unindent\") {\n\t\t// we need to manually add a linebreak for lines not starting with list markup\n\t\toperation.replacement = \"\\n\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.newSelStart = operation.selStart + 1;\n\t\toperation.newSelEnd = operation.selEnd + 1;\n\t}\n};\n\n})();",
"type": "application/javascript",
"title": "$:/plugins/sq/editor-autolist/editor-operation-autolist",
"tags": "",
"module-type": "texteditoroperation",
"modified": "20200804125155562",
"created": "20200803160356743"
},
"$:/plugins/sq/editor-autolist/EditorToolbar-autolist": {
"created": "20200803165453913",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"autolist\"\n/>\n",
"title": "$:/plugins/sq/editor-autolist/EditorToolbar-autolist",
"tags": "$:/tags/EditorToolbar",
"shortcuts": "((autolist-newline))",
"modified": "20200804124434675",
"icon": "$:/core/images/list-bullet",
"description": "",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"caption": "",
"button-classes": "sq-text-editor-btn-hidden"
},
"$:/plugins/sq/editor-autolist/styles": {
"text": ".sq-text-editor-btn-hidden {\n\tdisplay: none;\n}",
"title": "$:/plugins/sq/editor-autolist/styles",
"tags": "$:/tags/Stylesheet",
"modified": "20200803172530073",
"created": "20200803171440138"
},
"$:/plugins/sq/editor-autolist/EditorToolbar-autolist-indent": {
"created": "20200803213912954",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"autolist\"\n\tmode=\"indent\"\n/>\n",
"title": "$:/plugins/sq/editor-autolist/EditorToolbar-autolist-indent",
"tags": "$:/tags/EditorToolbar",
"shortcuts": "((autolist-indent))",
"modified": "20200804124659294",
"icon": "$:/core/images/list-bullet",
"description": "",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"caption": "",
"button-classes": "sq-text-editor-btn-hidden"
},
"$:/plugins/sq/editor-autolist/EditorToolbar-autolist-unindent": {
"created": "20200804122848593",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"autolist\"\n\tmode=\"unindent\"\n/>\n",
"title": "$:/plugins/sq/editor-autolist/EditorToolbar-autolist-unindent",
"tags": "$:/tags/EditorToolbar",
"shortcuts": "((autolist-unindent))",
"modified": "20200804124808496",
"icon": "$:/core/images/list-bullet",
"description": "",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"caption": "",
"button-classes": "sq-text-editor-btn-hidden"
},
"$:/config/shortcuts/autolist-newline": {
"created": "20200804124551033",
"title": "$:/config/shortcuts/autolist-newline",
"text": "Enter",
"modified": "20200804124551033"
},
"$:/config/shortcuts/autolist-indent": {
"created": "20200804124746636",
"title": "$:/config/shortcuts/autolist-indent",
"text": "Tab",
"modified": "20200804124746636"
},
"$:/config/shortcuts/autolist-unindent": {
"created": "20200804124833452",
"title": "$:/config/shortcuts/autolist-unindent",
"text": "shift-Tab",
"modified": "20200804124833452"
},
"$:/config/ShortcutInfo/autolist-newline": {
"created": "20200804124436341",
"text": "Add a newline and list markup if in a list",
"tags": "",
"title": "$:/config/ShortcutInfo/autolist-newline",
"modified": "20200804124533962"
},
"$:/config/ShortcutInfo/autolist-indent": {
"created": "20200804124703604",
"text": "Indent a line in a list",
"tags": "",
"title": "$:/config/ShortcutInfo/autolist-indent",
"modified": "20200804124720020"
},
"$:/config/ShortcutInfo/autolist-unindent": {
"created": "20200804124811668",
"text": "Unindent a line in a list",
"tags": "",
"title": "$:/config/ShortcutInfo/autolist-unindent",
"modified": "20200804124823040"
}
}
}
{
"tiddlers": {
"$:/_sq/Stories/config/openLinkDivert": {
"text": "bottom",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/config/openLinkDivert",
"modified": "20200422063802598",
"created": "20170629173808777"
},
"$:/_sq/Stories/config/showRiverDropZones": {
"text": "disable",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/config/showRiverDropZones",
"modified": "20200417233130361",
"created": "20200417170940547"
},
"$:/_sq/Stories/config/sidebaroverlaybreakpoint": {
"text": "1500px",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/config/sidebaroverlaybreakpoint",
"modified": "20200416182732404",
"created": "20170616192704225"
},
"$:/_sq/Stories/config/snippets/viewswitcher": {
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/_sq/Stories/config/Story2-storyview\">\n<div class=\"tc-chooser\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/_sq/Stories/config/Story2-storyview}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/config/snippets/viewswitcher",
"tags": "",
"modified": "20200416183434009",
"created": "20200416183108721"
},
"$:/_sq/Stories/config/Story2-storyview": {
"text": "classic",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/config/Story2-storyview",
"tags": "",
"modified": "20200417205214764",
"created": "20200415213157946"
},
"$:/_sq/Stories/config/twostorybreakpoint": {
"text": "1100px",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/config/twostorybreakpoint",
"modified": "20200416182753284",
"created": "20170616192701335"
},
"$:/_sq/Stories/CorePatch/ButtonDispatchMessage": {
"text": "var ButtonWidget = require(\"$:/core/modules/widgets/button.js\").button;\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event, navigateFromNode: this});\n};",
"bag": "default",
"revision": "0",
"type": "application/javascript",
"title": "$:/_sq/Stories/CorePatch/ButtonDispatchMessage",
"tags": "",
"module-type": "startup",
"modified": "20200414150813641",
"created": "20170616103202530"
},
"$:/_sq/Stories/divertTiddlerEditMacro": {
"text": "\\define divertTiddlerButton()\n<$set name=\"original\" value={{!!draft.title}}>\n<$set name=\"otherStoryList\" filter=\"[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]\" select=\"0\">\n\t<$button class=<<tv-config-toolbar-class>> tooltip=\"Divert this tiddler to the other story for viewing\">\n\t\t<$reveal state=\"$:/_sq/Stories/config/openLinkDivert\" type=\"nomatch\" text=\"top\" default=\"top\">\n\t\t\t<$action-listops $tiddler=<<otherStoryList>> $subfilter=\"[<original>]\"/>\n\t\t</$reveal>\n\t\t<$reveal state=\"$:/_sq/Stories/config/openLinkDivert\" type=\"match\" text=\"top\" default=\"top\">\n\t\t\t<$action-listops $tiddler=<<otherStoryList>> $subfilter=\"+[prepend<original>]\"/>\n\t\t</$reveal>\n\t\t<span class=\"sq-button-divert-right sq-button-divert\">{{$:/_sq/Stories/icons/divert-right.svg}}</span><span class=\"sq-button-divert-left sq-button-divert\">{{$:/_sq/Stories/icons/divert-left.svg}}</span>\n\t</$button>\n</$set>\n</$set>\n\\end\n\n<<divertTiddlerButton>>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/divertTiddlerEditMacro",
"tags": "$:/tags/EditToolbar",
"modified": "20200425133731696",
"list-before": "$:/core/ui/Buttons/delete",
"description": "divert right/left",
"created": "20170616074148780",
"caption": "{{$:/_sq/Stories/icons/divert-right.svg}}"
},
"$:/_sq/Stories/divertTiddlerMacro": {
"text": "\\define __me()\n[[$(currentTiddler)$]]\n\\end\n\n\\define divertTiddlerButton()\n<$set name=\"activeStoryList\" value=<<tv-story-list>> >\n<$set name=\"otherStoryList\" filter=\"[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]\" select=\"0\">\n<$set name=\"otherHistoryList\" filter=\"[enlist{$:/_sq/Stories/HistoriesList!!list}] -[<tv-history-list>]\" select=\"0\">\n\t<$button class=<<tv-config-toolbar-class>> tooltip=\"Divert this tiddler to the other story\">\n\t\t<$action-listops $tiddler=<<activeStoryList>> $subfilter=\"+[remove<__me>]\"/>\n\t\t<$reveal state=\"$:/_sq/Stories/config/openLinkDivert\" type=\"nomatch\" text=\"top\" default=\"top\">\n\t\t\t<$action-listops $tiddler=<<otherStoryList>> $subfilter=<<__me>>/>\n\t\t</$reveal>\n\t\t<$reveal state=\"$:/_sq/Stories/config/openLinkDivert\" type=\"match\" text=\"top\" default=\"top\">\n\t\t\t<$action-listops $tiddler=<<otherStoryList>> $subfilter=\"+[prepend<__me>]\"/>\n\t\t</$reveal>\n\t\t<$action-addtohistory $history=<<otherHistoryList>> $title=<<currentTiddler>> />\n\t\t<span class=\"sq-button-divert-right sq-button-divert\">{{$:/_sq/Stories/icons/divert-right.svg}}</span><span class=\"sq-button-divert-left sq-button-divert\">{{$:/_sq/Stories/icons/divert-left.svg}}</span>\n\t</$button>\n</$set>\n</$set>\n</$set>\n\\end\n\n<<divertTiddlerButton>>\n\n\n",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/divertTiddlerMacro",
"tags": "$:/tags/ViewToolbar",
"modified": "20200425132210151",
"list-before": "",
"description": "Divert left/right",
"created": "20170609055347900",
"caption": "{{$:/_sq/Stories/icons/divert-right.svg}} divert left/right"
},
"$:/_sq/Stories/EditTiddlerHook": {
"text": "$tw.hooks.addHook(\"th-editing-tiddler\", function(event) {\n\tvar targetTitle = event.tiddlerTitle;\n\tvar stories = $tw.wiki.getTiddlerList('$:/_sq/Stories/StoriesList');\n\tvar draftTitle = $tw.wiki.findDraft(targetTitle);\n\tvar shiftKey = event.event.shiftKey;\n\n\t//if !draftTitle, its not open anywhere\n\t//cant be open without existing, but can exist without being opened\n\n\tif(!draftTitle && !shiftKey) {\n\t\treturn true;\n\t}\n\n\tvar node = event.navigateFromNode;\n\tvar thisStory = node.getVariable(\"tv-story-title\");\n\tvar otherStory = (stories[0] == thisStory)? stories[1] : stories[0];\n\tvar otherStoryList = $tw.wiki.getTiddlerList(otherStory);\n\n\tif(otherStoryList.indexOf(draftTitle) > -1) {\n\t\talert(\"This tiddler is already open for editing in the other story\");\n\t\treturn false;\n\t}\n\n\tvar generateDraftTitle = function(title) {\n\t\tvar c = 0,\n\t\tdraftTitle;\n\t\tdo {\n\t\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\t\tc++;\n\t\t} while($tw.wiki.tiddlerExists(draftTitle));\n\t\treturn draftTitle;\n\t};\n\t\n\tif(shiftKey) {\n //open in other story\n\t\tif(!draftTitle) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(targetTitle);\n\t\t\tdraftTitle = generateDraftTitle(targetTitle);\n\t\t\tvar draftTiddler = new $tw.Tiddler(\n\t\t\t\ttiddler,\n\t\t\t\t{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\t\"draft.of\": targetTitle\n\t\t\t\t},\n\t\t\t\t$tw.wiki.getModificationFields()\n\t\t\t);\n\t\t\t$tw.wiki.addTiddler(draftTiddler);\n\t\t}\n\t\tvar otherStoryTiddler = $tw.wiki.getTiddler(otherStory);\n\t\totherStoryList.splice(0 ,0, draftTitle);\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: otherStory},\n\t\t\totherStoryTiddler,\n\t\t\t{list:otherStoryList}\n\t\t));\n\t\treturn false;\n\t}\n\n\treturn true;\n});\n",
"bag": "default",
"revision": "0",
"type": "application/javascript",
"title": "$:/_sq/Stories/EditTiddlerHook",
"tags": "",
"module-type": "startup",
"modified": "20200415212818072",
"created": "20170616091547338"
},
"$:/_sq/Stories/HistoriesList": {
"text": "",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/HistoriesList",
"tags": "",
"modified": "20200414145004336",
"list": "$:/_sq/Stories/Story2HistoryList $:/HistoryList",
"created": "20170610091606312"
},
"$:/_sq/Stories/icons/bars-empty.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 100 100\" version=\"1.1\" x=\"0px\" y=\"0px\" class=\"tc-image-bars-empty tc-image-button\" width=\"40pt\" height=\"40pt\"><title>Single fold</title><desc>Created with Sketch.</desc><g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g stroke=\"#000000\"><rect stroke-width=\"2\" x=\"17\" y=\"17\" width=\"66\" height=\"66\" rx=\"2\"/><path d=\"M50.5,18.5 L50.5,80.789646\" stroke-linecap=\"round\" stroke-dasharray=\"2,3,2,3\"/></g></g></svg>",
"bag": "default",
"revision": "0",
"type": "image/svg+xml",
"title": "$:/_sq/Stories/icons/bars-empty.svg",
"tags": "",
"modified": "20200414145004334",
"created": "20170617203017607"
},
"$:/_sq/Stories/icons/bars.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" enable-background=\"new 0 0 100 100\" xml:space=\"preserve\" class=\"tc-image-bars tc-image-button\" width=\"20\" height=\"20\" ><path d=\"M41.667,0h-37.5C0,0,0,0,0,4.167v91.667C0,100,0,100,4.167,100h37.5c4.167,0,4.167,0,4.167-4.167V4.167 C45.833,0,45.833,0,41.667,0z M95.833,0h-37.5c-4.167,0-4.167,0-4.167,4.167v91.667c0,4.167,0,4.167,4.167,4.167h37.5 C100,100,100,100,100,95.833V4.167C100,0,100,0,95.833,0z\"/></svg>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/icons/bars.svg",
"modified": "20200414145004333",
"created": "20170608202154511"
},
"$:/_sq/Stories/icons/divert-left.svg": {
"text": "<svg class=\"tc-image-button\" x=\"0px\" y=\"0px\" width=\"30pt\" height=\"30pt\" viewBox=\"0 0 100 125\" ><path d=\"M7.197,44.697l27.5-27.5c2.929-2.929,7.678-2.929,10.607,0c2.929,2.929,2.929,7.678,0,10.607L30.607,42.5H70 h0c5.118,0,10.237,1.953,14.142,5.858c7.81,7.81,7.81,20.474,0,28.284c-2.929,2.929-7.678,2.929-10.607,0 c-2.929-2.929-2.929-7.678,0-10.607c1.953-1.953,1.953-5.118,0-7.071C72.559,57.988,71.28,57.5,70,57.5h0v0H30.607l14.697,14.697 c2.929,2.929,2.929,7.678,0,10.607c-2.929,2.929-7.678,2.929-10.607,0L16.036,64.142l-8.839-8.839 C4.268,52.374,4.268,47.626,7.197,44.697z\"/></svg>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/icons/divert-left.svg",
"modified": "20200414145004330",
"created": "20170609061834078"
},
"$:/_sq/Stories/icons/divert-right.svg": {
"text": "<svg class=\"tc-image-button\" x=\"0px\" y=\"0px\" width=\"30pt\" height=\"30pt\" viewBox=\"0 0 100 125\" ><path d=\"M92.803,44.697l-27.5-27.5c-2.929-2.929-7.678-2.929-10.607,0c-2.929,2.929-2.929,7.678,0,10.607 L69.393,42.5H30h0c-5.118,0-10.237,1.953-14.142,5.858c-7.81,7.81-7.81,20.474,0,28.284c2.929,2.929,7.678,2.929,10.607,0 c2.929-2.929,2.929-7.678,0-10.607c-1.953-1.953-1.953-5.118,0-7.071C27.441,57.988,28.72,57.5,30,57.5h0v0h39.393L54.697,72.197 c-2.929,2.929-2.929,7.678,0,10.607s7.678,2.929,10.607,0l18.661-18.661l8.839-8.839C95.732,52.374,95.732,47.626,92.803,44.697z\"/></svg>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/icons/divert-right.svg",
"modified": "20200414145004328",
"created": "20170609061824401"
},
"$:/_sq/Stories/LinkKeybindings": {
"text": "$tw.hooks.addHook('th-navigating', function(event) {\n\t//override core behaviour when shift key was used\n\tif( ((event.event && event.event.shiftKey) || (event.shiftKey && event)) && event.navigateTo) {\n\t\tvar stories = $tw.wiki.getTiddlerList('$:/_sq/Stories/StoriesList');\n\t\tvar node = event.navigateFromNode;\n\t\tvar thisStory = node.getVariable(\"tv-story-list\");\n\t\tvar otherStory = (stories[0] == thisStory)? stories[1] : stories[0];\t\n\t\tvar storyList = $tw.wiki.getTiddlerList(otherStory);\n\t\tvar slot = storyList.indexOf(event.navigateTo);\n\t\t\n\t\tif(slot < 0){\n\t\t\tif($tw.wiki.getTiddlerText(\"$:/config/Navigation/openLinkFromOutsideRiver\") === \"bottom\") {\n\t\t\t\n\t\t\t\tstoryList.splice(storyList.length, 0, event.navigateTo);\n\t\t\t} else {\n\t\t\t\tstoryList.splice(0, 0, event.navigateTo);\n\t\t\t}\n\t\t\tvar storyTiddler =\t$tw.wiki.getTiddler(otherStory);\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t\t{title: otherStory},\n\t\t\t\tstoryTiddler,\n\t\t\t\t{list:storyList}\n\t\t\t));\n\t\t}\n\t\tvar histories = $tw.wiki.getTiddlerList('$:/_sq/Stories/HistoriesList');\n\t\tvar thisHistory = node.getVariable(\"tv-history-list\");\n\t\tvar otherHistory = (histories[0] == thisHistory) ? histories[1] : histories[0];\t\t\n\t\t$tw.wiki.addToHistory(event.navigateTo,event.navigateFromClientRect, otherHistory); \n\t\tif($tw.wiki.getTiddlerText(\"$:/config/_sq/Stories/story2\") === \"no\") {\n\t\t\t$tw.wiki.setText(\"$:/config/_sq/Stories/story2\",undefined,undefined,\"yes\",undefined);\n\t\t}\n\t\tevent.navigateTo = false;\n\t}\n\treturn event;\n});",
"bag": "default",
"revision": "0",
"type": "application/javascript",
"title": "$:/_sq/Stories/LinkKeybindings",
"tags": "",
"module-type": "startup",
"modified": "20200422065240983",
"created": "20170610071940508"
},
"$:/_sq/Stories/startup-actions": {
"text": "<$action-deletetiddler $tiddler=\"$:/_sq/Stories/Story2HistoryList\"/>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/startup-actions",
"tags": "$:/tags/StartupAction/Browser",
"modified": "20200417172054199",
"created": "20200417171756341"
},
"$:/_sq/Stories/Stories.css": {
"created": "20170608102837192",
"text": "\\define if-fluid-fixed(text,disableText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n</$reveal>\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"nomatch\" text=\"fluid-fixed\">\n$disableText$\n</$reveal>\n\\end\n\n\\define if-two-stories(twoStoryCommon, twoStorySidebar twoStoryNoSidebar, oneStoryText)\n<$reveal default=\"yes\" type=\"match\" text={{{[{$:/_sq/Stories/Story2StoryList!!list}length[]match[0]then[no]] ~[{$:/config/_sq/Stories/story2}]}}}>\n$twoStoryCommon$\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">\n$twoStorySidebar$\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$twoStoryNoSidebar$\n</$reveal>\n</$reveal>\n<$reveal default=\"yes\" type=\"nomatch\" text={{{[{$:/_sq/Stories/Story2StoryList!!list}length[]match[0]then[no]] ~[{$:/config/_sq/Stories/story2}]}}}>\n$oneStoryText$\n</$reveal>\n\\end\n\n\n<pre>\n\n.tc-page-container.tc-page-view-zoomin .tc-storyview-zoomin-tiddler {\n\twidth: 100%;\n\tposition: relative;\n}\n\n.tc-btn-storytwotoggle {\n\tpadding:0px;\n}\n\n.tc-btn-storytwotoggle img {\n\twidth: 30px;\n\theight: 30px;\n}\n\n.tc-sidebar-lists .tc-btn-storytwotoggle-bars {\n\tfont-size: 1.5em;\n}\n\n.tc-sidebar-lists .tc-btn-storytwotoggle-bars svg {\n\tfill: #aaa;\n}\n\n.tc-story-river .sq-button-divert-left{\n\tdisplay: none;\n}\n\n.sq-story-rivertwo-scrollable::-webkit-scrollbar{width:10px}\n\n.sq-story-rivertwo-scrollable::-webkit-scrollbar-thumb{background:#a5a5a5;border-radius:10px}\n\n.sq-story-rivertwo-scrollable::-webkit-scrollbar-thumb:hover{background:#6f6f6f}\n\n.sq-story-rivertwo-scrollable::-webkit-scrollbar-thumb:active{background:#333}\n\n\t.tc-sidebar-tab-open.sq-sidebar-open .tc-btn-invisible.tc-btn-mini {\n\t\tpadding: 0 0.2em;\n\t}\n\n\t.tc-sidebar-tab-open.sq-sidebar-open .tc-sidebar-tab-open-item {\n\t\tpadding: 0.1em;\n\t}\n\t\n\thtml body.tc-body .tc-sidebar-tab-open.sq-sidebar-open a.tc-tiddlylink {\n\t\tfont-weight: 400;\n\t}\n\n.tc-sidebar-tab-open.sq-sidebar-open a.tc-tiddlylink {\n\tcolor:<<color very-muted-foreground>>;\n}\n\n.tc-sidebar-tab-open.sq-sidebar-open a.tc-tiddlylink:hover {\n\tcolor: <<color sidebar-tiddler-link-foreground-hover>>;\n}\n\n<<if-two-stories twoStoryCommon:\"\"\"\n@media (min-width: {{$:/_sq/Stories/config/twostorybreakpoint}}) {\n.sq-story-rivertwo-scrollable {\n\tposition: fixed;\n\ttop: calc(1em + {{$:/themes/tiddlywiki/vanilla/metrics/storytop}});\n\tbottom: 0;\n}\n\n.tc-story-river.sq-story-rivertwo {\n\tmargin-right: 1em !important;\n\tmargin-left: 0;\n}\n\n.tc-story-river {\n\tfloat: left;\n\tmargin-right: 0;\n\tpadding-right: 0em;\n\tpadding-top: 0em;\n}\n\n.tc-story-river .sq-button-divert-right{\n\tdisplay:inline-block;\n}\n\n.tc-story-river .sq-button-divert-left{\n\tdisplay: none;\n}\n\n.tc-story-river.sq-story-rivertwo .sq-button-divert-left{\n\tdisplay:inline-block;\n}\n\n.tc-story-river.sq-story-rivertwo .sq-button-divert-right{\n\tdisplay: none;\n}\n\n.sq-storydropzone {\n\tpadding: 0.5em;\n\tborder:1px solid #bbb;\n\tcolor: #ccc;\n\ttext-align: center;\n\tposition: relative;\n\twidth: calc(100% - 45px);\n\t-moz-box-shadow: inset 0 0 10px #ccc;\n\t-webkit-box-shadow: inset 0 0 10px #ccc;\n\tbox-shadow: inset 0 0 10px #ccc;\n}\n\n.sq-storydropzone-newtiddlerbutton {\n\twidth: 40px;\n\tfloat: right;\n\tpadding: 0.2em 0.5em 0.5em 0.5em;\n\tmargin-top: 0em;\n\tmargin-right: 0.2em;\n}\n\n}\n\"\"\" twoStorySidebar:\"\"\"\n\n@media (min-width: {{$:/_sq/Stories/config/twostorybreakpoint}}) {\n.tc-story-river {\n\twidth: calc((100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}} - {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}})/2);\n}\n\n.sq-storydropzone {\n\tpadding: 0.5em;\n\tborder:1px solid #bbb;\n\tcolor: #ccc;\n\ttext-align: center;\n}\n\n.sq-story-rivertwo-scrollable {\n\twidth: calc((98% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}} - {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}})/2);\n}\n}\n\n@media (min-width: {{$:/_sq/Stories/config/twostorybreakpoint}}) and (max-width: {{$:/_sq/Stories/config/sidebaroverlaybreakpoint}}) {\n\t.tc-story-river {\n\t\twidth:calc((100% - 0px - 60px)/2);\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tz-index:999;\n\t\tbackground:#eee;\n\t\tborder-left: 1px solid #ddd;\n\t}\n\n\t.sq-story-rivertwo-scrollable {\n\t\twidth: 49%;\n\t}\n\n}\n\n\"\"\" twoStoryNoSidebar:\"\"\"\n\n.tc-story-river.sq-story-rivertwo {\n\tpadding-right: 0.5em;\n}\n\n@media (min-width: {{$:/_sq/Stories/config/twostorybreakpoint}}) {\n.tc-story-river {\n\twidth: calc(49% - 1em);\n}\n\n.sq-story-rivertwo-scrollable {\n\twidth:calc((100% - 0px - 60px)/2);\n}\n\n\n\n\n}\n\n@media (min-width: {{$:/_sq/Stories/config/twostorybreakpoint}}) and (max-width: {{$:/_sq/Stories/config/sidebaroverlaybreakpoint}}) {\n\t.tc-sidebar-scrollable {\n\t\tdisplay:none;\n\t}\n}\n\n\"\"\" oneStoryText: \"\"\"\n.sq-twostoriesonly {\n\tdisplay: none;\n}\n\n.tc-story-river {\n\tpadding-top: 15px;\n}\n\n\"\"\"\n>>\n\n@media (max-width: {{$:/_sq/Stories/config/twostorybreakpoint}}) {\n\t.sq-twostoriesonly {\n\t\tdisplay: none;\n\t}\n\n\t.tc-btn-storytwotoggle {\n\t\tdisplay: none;\n\t}\n\n\t.sq-stories-disabled {\n\t\tdisplay: none;\n\t}\n\n<<if-two-stories twoStoryCommon:\"\"\"\n\n\t.tc-storytwo-river {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\twidth: auto;\n\t\tpadding-top: 15px;\n\t}\n\n\t.tc-story-river .sq-button-divert {\n\t\tdisplay: none;\n\t}\n\n\n\t.sq-story-rivertwo-scrollable {\n\t\tdisplay:none;\n\t}\n\n\n\"\"\" twoStorySidebar:\"\"\"\n\t.tc-story-river {\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tborder-left: 0;\n\t\tz-index: inherit;\n\t\tbackground: transparent;\n\t}\n\"\"\" twoStoryNoSidebar: \"\"\"\n\t.tc-story-river {\n\t\tpadding-right: 2em;\n\t}\n\"\"\"\n\n>>\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.tc-story-river {\nmargin-right: 0;\n}\n}\n\n\n</pre>\n",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/Stories.css",
"tags": "$:/tags/Stylesheet",
"modified": "20200425174509233"
},
"$:/_sq/Stories/StoriesList": {
"text": "",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/StoriesList",
"tags": "",
"modified": "20200414145004320",
"list": "$:/_sq/Stories/Story2StoryList $:/StoryList",
"created": "20170610072420739"
},
"$:/_sq/Stories/Story2StoryList": {
"title": "$:/_sq/Stories/Story2StoryList",
"created": "20170615140314952",
"text": "",
"bag": "default",
"revision": "8",
"type": "text/vnd.tiddlywiki",
"modified": "20200425175456458",
"list": ""
},
"$:/_sq/Stories/Templates/RiverDropZone": {
"text": "\\define drop-actions()\n<$action-listops $tiddler=<<otherStoryList>> $subfilter=\"+[remove<actionTiddler>]\"/> \n<$action-navigate $to=<<actionTiddler>>/>\n\\end\n<$reveal state=\"$:/_sq/Stories/config/showRiverDropZones\" text=\"enable\" type=\"match\" default=\"disable\">\n<div class=\"sq-storydropzone-container sq-twostoriesonly\">\n\t<div class=\"sq-storydropzone-newtiddlerbutton tc-page-controls\">\n\t\t<$transclude tiddler=\"$:/core/ui/Buttons/new-tiddler\"/>\n\t</div>\n\t<div style=\"position: relative; \" class=\"sq-storydropzone sq-twostoriesonly\">\n\t\t<$set name=\"otherStoryList\" filter=\"[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]\" select=\"0\">\n\t\t<$droppable actions=<<drop-actions>>>\n\t\t\t<div class=\"tc-droppable-placeholder\">\n\t\t\t \n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\tDrop link here to open\n\t\t\t</div>\n\t\t</$droppable>\n\t\t</$set>\n\t</div>\n</div>\n</$reveal>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/Templates/RiverDropZone",
"tags": "$:/tags/AboveStory",
"modified": "20200417170915429",
"list-before": "$:/core/ui/PageTemplate/story",
"created": "20170609191118712"
},
"$:/_sq/Stories/Templates/Story2Template": {
"text": "\\whitespace trim\n<$reveal state=\"$:/config/_sq/Stories/story2\" type=\"match\" text=\"yes\" default=\"no\" retain=\"yes\" animate=\"no\" tag=\"section\" class=\"tc-story-river tc-storytwo-river sq-story-rivertwo\">\n\n<$navigator story=\"$:/_sq/Stories/Story2StoryList\" history=\"$:/_sq/Stories/Story2HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n<$scrollable class=\"sq-story-rivertwo-scrollable\" fallthrough=\"no\">\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/_sq/Stories/Story2StoryList]]\" history=\"$:/_sq/Stories/Story2HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/_sq/Stories/config/Story2-storyview}}>\n\n<div>\n<$transclude/>\n</div>\n\n</$list>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</$scrollable>\n</$navigator>\n\n</$reveal>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/Templates/Story2Template",
"tags": "$:/tags/PageTemplate",
"modified": "20200425140654266",
"list-after": "$:/core/ui/PageTemplate/story",
"created": "20170608171610013"
},
"$:/_sq/Stories/Templates/StoryToggleMenu": {
"text": "<div class=\"sq-twostoriesonly\">\n<$reveal state=\"$:/config/_sq/Stories/story2\" type=\"nomatch\" text=\"no\" default=\"no\">\n<$button set=\"$:/config/_sq/Stories/story2\" setTo=\"no\" tooltip=\"Hide right column\" aria-label=\"\" class=\"tc-btn-invisible tc-btn-storytwotoggle\">{{$:/_sq/Stories/icons/bars-empty.svg}} </$button> Hide right column\n</$reveal>\n</div>\n<$reveal state=\"$:/config/_sq/Stories/story2\" type=\"match\" text=\"no\" default=\"no\">\n<$button set=\"$:/config/_sq/Stories/story2\" setTo=\"yes\" tooltip=\"Show right column\" aria-label=\"\" class=\"tc-btn-invisible tc-btn-storytwotoggle tc-btn-storytwotoggle-bars\">{{$:/_sq/Stories/icons/bars.svg}}</$button> <span class=\"sq-stories-disabled\">Show right column</span>\n</$reveal>\n",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/Templates/StoryToggleMenu",
"modified": "20200425133224298",
"created": "20170608172531552"
},
"$:/_sq/Stories/Templates/StoryTogglePageControl": {
"text": "<span class=\"sq-twostoriesonly\">\n\t<$reveal state=\"$:/config/_sq/Stories/story2\" type=\"nomatch\" text=\"no\" default=\"no\">\n\t\t<$button set=\"$:/config/_sq/Stories/story2\" setTo=\"no\" tooltip=\"Hide right column\" aria-label=\"\" class=\"tc-btn-invisible tc-btn-storytwotoggle\">{{$:/_sq/Stories/icons/bars-empty.svg}} </$button>\n\t</$reveal>\n</span>\n<$reveal state=\"$:/config/_sq/Stories/story2\" type=\"match\" text=\"no\" default=\"no\">\n\t<$button set=\"$:/config/_sq/Stories/story2\" setTo=\"yes\" tooltip=\"Show right column\" aria-label=\"\" class=\"tc-btn-invisible tc-btn-storytwotoggle\">{{$:/_sq/Stories/icons/bars.svg}}</$button>\n</$reveal>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/_sq/Stories/Templates/StoryTogglePageControl",
"tags": "$:/tags/PageControls",
"modified": "20200425133303133",
"description": "Show right column for second story",
"created": "20170617182141154",
"caption": "{{$:/_sq/Stories/icons/bars.svg}} Show right column"
},
"$:/_sq/Stories/widgets/action-addtohistory": {
"text": "/*\\\ntype: application/javascript\nmodule-type: widget\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar AddToHistoryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nAddToHistoryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nAddToHistoryWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nAddToHistoryWidget.prototype.execute = function() {\n\tthis.historyTitle = this.getAttribute(\"$history\",this.getVariable(\"tv-history-title\"));\n\tthis.newTitle = this.getAttribute(\"$title\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nAddToHistoryWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$historyTitle\"] || changedAttributes[\"$title\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nAddToHistoryWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tthis.wiki.addToHistory(this.newTitle,{},this.historyTitle);\t\n\treturn true; // Action was invoked\n};\n\nexports[\"action-addtohistory\"] = AddToHistoryWidget;\n\n})();",
"bag": "default",
"revision": "0",
"type": "application/javascript",
"title": "$:/_sq/Stories/widgets/action-addtohistory",
"tags": "",
"module-type": "widget",
"modified": "20200416234746904",
"created": "20200416232452797"
},
"$:/_sq/Stories/Story2HistoryList": {
"created": "20200425131030296",
"current-tiddler": "$:/plugins/sq/Stories",
"title": "$:/_sq/Stories/Story2HistoryList",
"type": "application/json",
"text": "[\n {\n \"title\": \"$:/config/Tiddlers/TitleLinks\",\n \"fromPageRect\": {\n \"top\": 249.296875,\n \"left\": 1230,\n \"width\": 183.515625,\n \"right\": 1413.515625,\n \"bottom\": 269.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerMacro\",\n \"fromPageRect\": {\n \"top\": 623.296875,\n \"left\": 1230,\n \"width\": 220.390625,\n \"right\": 1450.390625,\n \"bottom\": 643.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerMacro\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerMacro\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerEditMacro\",\n \"fromPageRect\": {\n \"top\": 319.296875,\n \"left\": 1230,\n \"width\": 245.53125,\n \"right\": 1475.53125,\n \"bottom\": 339.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerEditMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerEditMacro\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryToggleMenu\",\n \"fromPageRect\": {\n \"top\": 537.296875,\n \"left\": 1230,\n \"width\": 283.546875,\n \"right\": 1513.546875,\n \"bottom\": 557.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\",\n \"fromPageRect\": {\n \"top\": 297.296875,\n \"left\": 1230,\n \"width\": 326.734375,\n \"right\": 1556.734375,\n \"bottom\": 317.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryToggleMenu'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryToggleMenu\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryToggleMenu'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryToggleMenu\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerEditMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerEditMacro\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryToggleMenu'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryToggleMenu\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryToggleMenu'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryToggleMenu\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/Templates/StoryTogglePageControl'\"\n },\n {\n \"title\": \"$:/_sq/Stories/Templates/StoryTogglePageControl\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerEditMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerEditMacro\"\n },\n {\n \"title\": \"$:/core/ui/SideBar/Open\",\n \"fromPageRect\": {\n \"top\": 337.296875,\n \"left\": 1230,\n \"width\": 161.8125,\n \"right\": 1391.8125,\n \"bottom\": 357.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"Draft of '$:/core/ui/SideBar/Open'\"\n },\n {\n \"title\": \"$:/core/ui/SideBar/Open\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerEditMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerEditMacro\"\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/divertTiddlerEditMacro'\"\n },\n {\n \"title\": \"$:/_sq/Stories/divertTiddlerEditMacro\"\n },\n {\n \"title\": \"TiddlyBlink\"\n },\n {\n \"title\": \"Stories-overview\",\n \"fromPageRect\": {\n \"top\": 1035.921875,\n \"left\": 1190,\n \"width\": 101.6875,\n \"right\": 1291.6875,\n \"bottom\": 1054.921875,\n \"height\": 19\n }\n },\n {\n \"title\": \"$:/.giffmex/Customize.TiddlyBlink\",\n \"fromPageRect\": {\n \"top\": 735.625,\n \"left\": 107.5,\n \"width\": 145.171875,\n \"right\": 252.671875,\n \"bottom\": 755.625,\n \"height\": 20\n }\n },\n {\n \"title\": \"$:/.giffmex/meta/hack.tiddlyblink\",\n \"fromPageRect\": {\n \"top\": 757.625,\n \"left\": 107.5,\n \"width\": 129.59375,\n \"right\": 237.09375,\n \"bottom\": 777.625,\n \"height\": 20\n }\n },\n {\n \"title\": \"TiddlyBlink\",\n \"fromPageRect\": {\n \"top\": 161.296875,\n \"left\": 221.953125,\n \"width\": 71.859375,\n \"right\": 293.8125,\n \"bottom\": 181.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"TiddlyBlink\",\n \"fromPageRect\": {\n \"top\": 161.296875,\n \"left\": 221.953125,\n \"width\": 71.859375,\n \"right\": 293.8125,\n \"bottom\": 181.296875,\n \"height\": 20\n }\n },\n {\n \"title\": \"Stories-overview\",\n \"fromPageRect\": {}\n },\n {\n \"title\": \"Draft of 'Stories-overview'\"\n },\n {\n \"title\": \"Stories-overview\"\n },\n {\n \"title\": \"Draft of 'Stories-overview'\"\n },\n {\n \"title\": \"Stories-overview\"\n },\n {\n \"title\": \"Draft of 'Stories'\"\n },\n {\n \"title\": \"Plugin maker\",\n \"fromPageRect\": {\n \"top\": 481.34375,\n \"left\": 2259,\n \"width\": 80.890625,\n \"right\": 2339.890625,\n \"bottom\": 500.34375,\n \"height\": 19\n }\n },\n {\n \"title\": \"Draft of 'Plugin maker'\"\n },\n {\n \"title\": \"Plugin maker\"\n },\n {\n \"title\": \"Stories\",\n \"fromPageRect\": {\n \"top\": 296.84375,\n \"left\": 2259,\n \"width\": 41.453125,\n \"right\": 2300.453125,\n \"bottom\": 315.84375,\n \"height\": 19\n }\n },\n {\n \"title\": \"Plugin maker\",\n \"fromPageRect\": {\n \"top\": 501.34375,\n \"left\": 2259,\n \"width\": 80.890625,\n \"right\": 2339.890625,\n \"bottom\": 520.34375,\n \"height\": 19\n }\n },\n {\n \"title\": \"Draft of 'Plugin maker'\"\n },\n {\n \"title\": \"Plugin maker\"\n },\n {\n \"title\": \"Draft of 'Stories'\"\n },\n {\n \"title\": \"Stories\"\n },\n {\n \"title\": \"$:/_sq/Stories/config/Settings\",\n \"fromPageRect\": {\n \"top\": 360.171875,\n \"left\": 1245,\n \"width\": 182.21875,\n \"right\": 1427.21875,\n \"bottom\": 379.171875,\n \"height\": 19\n }\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/config/Settings'\"\n },\n {\n \"title\": \"$:/_sq/Stories/config/Settings\"\n },\n {\n \"title\": \"$:/_sq/Stories/config/Settings\",\n \"fromPageRect\": {\n \"top\": 360.171875,\n \"left\": 1245,\n \"width\": 182.21875,\n \"right\": 1427.21875,\n \"bottom\": 379.171875,\n \"height\": 19\n }\n },\n {\n \"title\": \"Draft of '$:/_sq/Stories/config/Settings'\"\n },\n {\n \"title\": \"$:/_sq/Stories/config/Settings\"\n },\n {\n \"title\": \"Draft of 'Stories'\"\n },\n {\n \"title\": \"Stories\"\n },\n {\n \"title\": \"Draft of 'Stories'\"\n },\n {\n \"title\": \"Stories\"\n },\n {\n \"title\": \"Draft of 'Stories'\"\n },\n {\n \"title\": \"$:/plugins/sq/Stories\",\n \"fromPageRect\": {\n \"top\": 463.734375,\n \"left\": 2321.1875,\n \"width\": 476.734375,\n \"right\": 2797.921875,\n \"bottom\": 482.734375,\n \"height\": 19\n }\n }\n]",
"modified": "20200425180934241"
},
"$:/core/ui/SideBar/Open": {
"text": "\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n<$action-listops $tiddler=<<_otherStory>> $subfilter=\"-[<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n\\define open-tiddler-list()\n<div class=\"tc-sidebar-tab-open sq-sidebar-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">{{$:/core/images/close-button}}</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n\\end\n\n\n''Left Column''\n<$set name=\"_otherStory\" filter=\"[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]\" select=\"0\">\n<<open-tiddler-list>>\n</$set>\n<div class=\"sq-twostoriesonly\">\n\n---\n\n''Right Column''\n<$set name=\"_otherStory\" value=<<tv-story-list>> >\n<$set name=\"tv-story-list\" filter=\"[enlist{$:/_sq/Stories/StoriesList!!list}] -[<tv-story-list>]\" select=\"0\">\n<$set name=\"tv-history-list\" filter=\"[enlist{$:/_sq/Stories/HistoriesList!!list}] -[<tv-history-list>]\" select=\"0\">\n<$navigator story=<<tv-story-list>> history=<<tv-history-list>> >\n<<open-tiddler-list>>\n</$navigator>\n</$set>\n</$set>\n</$set>\n\n</div>\n\n---\n\n<$transclude tiddler=\"$:/_sq/Stories/Templates/StoryToggleMenu\"/>",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"modified": "20200425133519499",
"created": "20170609174945253",
"caption": "{{$:/language/SideBar/Open/Caption}}"
},
"$:/config/_sq/Stories/story2": {
"text": "yes",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/config/_sq/Stories/story2",
"modified": "20200425145103899",
"created": "20170615081040584"
},
"$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
"text": "fluid-fixed",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
"tags": "tb",
"modified": "20200416185419828",
"created": "20200127172539001"
},
"$:/plugins/sq/Stories/settings": {
"created": "20170616185336118",
"text": "|[[Minimum width to show the second story|$:/_sq/Stories/config/twostorybreakpoint]] |<$edit-text tiddler=\"$:/_sq/Stories/config/twostorybreakpoint\" default=\"\" tag=\"input\"/> |\n|[[Minimum width to show non-overlapping sidebar|$:/_sq/Stories/config/sidebaroverlaybreakpoint]] |<$edit-text tiddler=\"$:/_sq/Stories/config/sidebaroverlaybreakpoint\" default=\"\" tag=\"input\"/> |\n|[[Open tiddlers at top or bottom of story when using divert button|$:/_sq/Stories/config/openLinkDivert]] | <$select tiddler=\"$:/_sq/Stories/config/openLinkDivert\" default=\"top\"><option value=\"top\">top</option><option value=\"bottom\">bottom</option></$select>|\n|<$link to=\"$:/_sq/Stories/config/showRiverDropZones\">Show dropzones above each story</$link>|<$checkbox tiddler=\"$:/_sq/Stories/config/showRiverDropZones\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"disable\"></$checkbox>|\n|[[Story view for second story|$:/_sq/Stories/config/Story2-storyview]]:|{{$:/_sq/Stories/config/snippets/viewswitcher}}|\n\n\n",
"bag": "default",
"revision": "0",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/sq/Stories/settings",
"tags": "$:/tags/ControlPanel/Appearance",
"modified": "20200425181057952",
"caption": "Two Story Layout"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/support": {
"created": "20181103150753927",
"text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
"title": "$:/plugins/telmiger/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181104091650389",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/images/search-button": {
"created": "20181031165637871",
"text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path fill-rule=\"evenodd\" d=\"M74.6 88A48 48 0 1188 74.7l34.3 34.3a9.4 9.4 0 11-13.4 13.3L74.6 88zM48 80a32 32 0 100-64 32 32 0 000 64z\"/>\n</svg>",
"title": "$:/plugins/telmiger/simple-search/images/search-button",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20200528205129099",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/license": {
"created": "20180104062422859",
"text": "`Simple Search is published under the MIT License.`\n\n!!! Simple Search\nThe content of $:/plugins/telmiger/simple-search is<br>\nCopyright (c), Thomas Elmiger, https://thomas-elmiger.ch\n\n!!! The MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"title": "$:/plugins/telmiger/simple-search/license",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181104090212451",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/readme": {
"created": "20170208062643245",
"creator": "Thomas Elmiger",
"text": "!! Simple Search \n\n{{$:/plugins/telmiger/simple-search/about}}\n\n\n!!! Keyboard accessible\n\n* Press <kbd>Shift</kbd> + <kbd>Cmd</kbd> + <kbd>Space</kbd> to ''launch'' or ''close'' Simple Search (or define your own shortcut [[in the control panel|$:/core/ui/ControlPanel/KeyboardShortcuts]]). \n* Navigate with <kbd>Tab</kbd>\n** {{$:/core/ui/Buttons/advanced-search}} takes you to $:/AdvancedSearch\n** the next <kbd>Tab</kbd> jumps to the search results.\n\nDepending on your browser and settings, you can select a list item using <kbd>Tab</kbd> or <kbd>up</kbd> and <kbd>down</kbd> arrow keys, finally confirm your choice with <kbd>Enter</kbd>.\n\n\n!!! Search in fields\nPrimary results are listed for tiddlers containing the search term in the ''title'' OR the ''caption'' fields. \n\nThe secondary list finds results based on all other fields (not title nor caption). This can be adapted via settings.\n\n\n!!! Create tiddlers\n\nEmpty result list? No problem. Create missing tiddlers using the search term as title and caption. \n\n* Hit <kbd>Tab</kbd> until you reach the plus button (+).\n* Create a tiddler with <kbd>Enter</kbd>.\n\nSee template options on the ''settings tab''. – Hat tip to //Diego Mesa// for inspiring this feature.\n\n\n!!! Settings\n\nMake sure to visit the ''settings tab'' to adjust your preferences.\n\n\n!! Core overruling\n\nThis plugin overwrites $:/core/ui/SideBarSegments/search and nothing else.",
"title": "$:/plugins/telmiger/simple-search/readme",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20200528213415209"
},
"$:/plugins/telmiger/simple-search/results": {
"created": "20181101220620505",
"creator": "Thomas Elmiger",
"text": "\\define close-simple-search()\n<<simple-search-closeSearch>>\n<$action-navigate $to=<<navigateTo>>/>\n\\end\n<div class=\"tc-search-results\">\n<$linkcatcher actions=<<close-simple-search>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n{{$:/plugins/telmiger/simple-search/SearchResultsList}}\n</$list>\n</$linkcatcher>\n</div>",
"title": "$:/plugins/telmiger/simple-search/results",
"tags": "",
"modified": "20190303202919126",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/search.css": {
"created": "20181016202403907",
"creator": "Thomas Elmiger",
"text": "/*\n** Simple Search\n** (c) Thomas Elmiger\n** \"\"\" \n*/\n\n/* Zoomin Storyview Hack */\n\n[data-tiddler-title=\"$:/Search\"].tc-tiddler-view-frame.tc-storyview-zoomin-tiddler {\n display: block !important;\n}\n\n\n/* Search layer */\n\n.tc-layer-search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 10001;\n background-color: rgba(0,0,0,0.66);\n}\n\n\n/* Search box */\n\n.tc-simple-search {\n position: fixed;\n top: 1rem;\n right: 3vw;\n left: 3vw;\n width: 94vw;\n height: 5rem;\n z-index: 102;\n max-width: 100%;\n background-color: rgba(0,0,0,0.75);\n padding: 1rem .5rem 1rem 1rem;\n border-radius: 0.5rem;\n border: 1px solid {{$:/plugins/telmiger/simple-search/settings/border-colour}};\n}\n\n.tc-simple-search .tc-search input[type=search],\n.tc-simple-search .tc-search input[type=search]:focus {\n -webkit-appearance: none; -moz-appearance: none;\n padding: 0 .25rem .125rem .25rem;\n width: calc(100% - 4rem);\n margin-right: .25rem;\n color: rgb(13, 13, 13);\n border: solid 1px transparent;\n border-radius: .25rem;\n background-color: rgb(222, 222, 222);\n}\n\n.tc-simple-search .tc-search input[type=search]:focus {\n background-color: rgb(242, 242, 242);\n}\n\n@media (min-width: 42rem) {\n\n .tc-simple-search {\n right: 4rem;\n left: 4rem;\n width: calc(100% - 8rem);\n height: 6rem;\n padding: 1rem 2rem 1rem 3rem;\n }\n\n .tc-simple-search .tc-search input[type=search],\n .tc-simple-search .tc-search input[type=search]:focus {\n padding: 0 .5rem .25rem .5rem;\n width: calc(100% - 5rem);\n margin-right: .75rem;\n font-size: 1.5rem;\n }\n\n .tc-simple-search .tc-search button {\n margin-right: .25rem;\n }\n\n .tc-simple-search .tc-search a svg,\n .tc-simple-search .tc-search button svg {\n width: 1.2rem;\n height: 1.2rem;\n }\n\n}\n\n@media (min-width: 77rem) {\n\n .tc-simple-search {\n right: 10vw;\n left: 10vw;\n width: 80vw;\n height: 7.66rem;\n padding: 2rem 3rem 2rem 4rem;\n }\n\n .tc-simple-search .tc-search input[type=search],\n .tc-simple-search .tc-search input[type=search]:focus {\n padding: 0 .5rem .25rem .5rem;\n width: calc(100% - 6rem);\n margin-right: 1rem;\n font-size: 1.75rem;\n }\n\n .tc-simple-search .tc-search button {\n margin-right: .5rem;\n }\n\n .tc-simple-search .tc-search a svg,\n .tc-simple-search .tc-search button svg {\n width: 1.33rem;\n height: 1.33rem;\n }\n\n}\n\n\n/* Search buttons */\n\n.tc-simple-search-results button {\n margin: .25rem 0;\n color: lightgray;\n}\n\n.tc-simple-search .tc-search button svg {\n fill: lightgray;\n}\n\n.tc-simple-search .tc-search button:hover svg,\n.tc-simple-search .tc-search button:focus svg {\n fill: rgb(150, 150, 150);\n}\n\n.tc-simple-search button.te-btn-mini svg {\n width: 0.75rem;\n height: 0.75rem;\n}\n\n\n/* Search results */\n\n\n.tc-simple-search .tc-block-dropdown-wrapper {\n position: absolute;\n width: 90vw;\n margin-top: 2rem;\n margin-left: -3vw;\n}\n\n@media (min-width: 42rem) {\n .tc-simple-search .tc-block-dropdown-wrapper {\n width: calc(100% - 6rem);\n margin-left: 0;\n }\n}\n\n@media (min-width: 77rem) {\n .tc-simple-search .tc-block-dropdown-wrapper {\n width: 72vw;\n }\n}\n\n.tc-simple-search p {\n line-height: 1;\n margin: 1.25rem 0 0.75rem 0;\n}\n\n.tc-simple-search .tc-search-results ul {\n list-style: none;\n padding-left: 0.25rem;\n}\n\n.tc-simple-search .tc-search-drop-down .tc-search-results a.tc-tiddlylink {\n white-space: initial;\n padding: 0.25rem 0.5rem;\n line-height: 1.1;\n border: 1px solid transparent;\n}\n\n.tc-simple-search .tc-search-drop-down .tc-search-results a.tc-tiddlylink:focus {\n border: 1px dotted lightgray;\n}\n\n.tc-simple-search .tc-search + .tc-block-dropdown-wrapper {\n margin: 0 1rem 0 0;\n}\n\n.tc-simple-search .tc-block-dropdown.tc-search-drop-down {\n margin: 0;\n max-height: 50vh;\n overflow: auto;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n position: relative;\n margin-right: 1rem;\n padding-left: .5rem; padding-right: .5rem;\n max-width: 100%;\n}\n\n@media (min-width: 42rem) {\n .tc-simple-search .tc-block-dropdown.tc-search-drop-down {\n max-height: 60vh;\n }\n}\n\n@media (min-width: 77rem) {\n .tc-simple-search .tc-block-dropdown.tc-search-drop-down {\n max-height: 80vh;\n }\n}\n\n\n/* Close and Edit buttons */\n\n.tc-layer-search .te-close-this {\n width: 100%;\n height: 100%;\n}\n\n.tc-layer-search .te-close-this button {\n width: 100%;\n height: 100%;\n text-align: right;\n}\n\n.tc-layer-search .te-close-this svg {\n display: none;\n}\n\n@media (min-width: 42rem) {\n .tc-layer-search .te-close-this svg {\n display: inherit;\n fill: lightgray;\n position: absolute;\n top: 1rem;\n right: 1rem;\n }\n}\n\n.tc-layer-search .te-edit-this button {\n z-index: 102;\n position: absolute;\n bottom: 1rem;\n left: 1rem;\n width: 1rem;\n height: 1rem;\n font-size: 1.2rem;\n}\n\n\n/* Hide tiddler info and frame */\n\n[data-tiddler-title=\"$:/Search\"] .tc-tiddler-title,\n[data-tiddler-title=\"$:/Search\"] .tc-subtitle,\n[data-tiddler-title=\"$:/Search\"] .tc-fold-banner,\n[data-tiddler-title=\"$:/Search\"] .tc-tags-wrapper\n{\n display: none;\n padding: 0;\n margin: 0;\n}\n\n[data-tiddler-title=\"$:/Search\"].tc-tiddler-view-frame,\n[data-tiddler-title=\"$:/Search\"] .tc-tiddler-body > p {\n height: 0;\n width: 0;\n padding: 0;\n margin: 0;\n border: none;\n}\n\n\n/* End \"\"\" */",
"title": "$:/plugins/telmiger/simple-search/search.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20190127221727503"
},
"$:/plugins/telmiger/simple-search/ui/Buttons/search": {
"text": "\\define search-button-label()\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/telmiger/simple-search/images/search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/plugins/telmiger/simple-search/ui/Buttons/search!!description}}/></span>\n</$list>\n\\end\n\n\\define control-panel-button-on(class)\n<$button tooltip={{$:/plugins/telmiger/simple-search/ui/Buttons/search!!description}} aria-label={{$:/plugins/telmiger/simple-search/ui/Buttons/search!!description}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<<simple-search-openSearch>>\n<<search-button-label>>\n</$button>\n\\end\n\n\\define control-panel-button-off(class)\n<$button tooltip=\"Close Search\" aria-label=\"Hide tiddler Search\" class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<<simple-search-closeSearch>>\n<<search-button-label>>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Search]]\" emptyMessage=<<control-panel-button-on>>>\n<<control-panel-button-off \"tc-selected\">>\n</$list>\n",
"title": "$:/plugins/telmiger/simple-search/ui/Buttons/search",
"tags": "$:/tags/PageControls",
"modifier": "Thomas Elmiger",
"modified": "20190303171930542",
"description": "Search",
"creator": "Thomas Elmiger",
"created": "20181031170153387",
"caption": "{{$:/plugins/telmiger/simple-search/images/search-button}} Search"
},
"$:/Search": {
"created": "20181031180159723",
"creator": "Thomas Elmiger",
"text": "<div class=\"tc-layer-search\">\n<div class=\"te-close-this\">\n{{$:/plugins/telmiger/simple-search/ui/Buttons/close-search}}\n</div>\n<div class=\"tc-simple-search\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<div class=\"tc-search\">\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>{{$:/plugins/telmiger/simple-search/ui/Buttons/advanced-search}}<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper tc-simple-search-results\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<$list filter=\"[<searchTiddler>minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n{{$:/plugins/telmiger/simple-search/results}}\n</$list>\n</$reveal>\n</$reveal><$reveal state=<<searchTiddler>> type=\"nomatch\" text=\"\">{{$:/plugins/telmiger/simple-search/ui/Buttons/clear-search}}\n<div class=\"tc-simple-search-results\">\n{{$:/plugins/telmiger/simple-search/ui/Buttons/new-tiddler}}\n<$button tooltip=\"show/hide filtered list\" aria-label=\"toggle results\" popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[<searchTiddler>minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"searchTerm\" value={{{ [<searchTiddler>get[text]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search:*<searchTerm>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$set>\n</$list>\n</$button>\n{{$:/plugins/telmiger/simple-search/ui/Buttons/options}}\n</div>\n</$reveal>\n</div>\n\n</$set>\n</div>\n<$reveal type=\"match\" state=\"$:/plugins/telmiger/simple-search/settings/edit\" text=\"yes\">\n<span class=\"te-edit-this\">\n<$button message=\"tm-edit-tiddler\" param={{!!title}} tooltip=\"edit tiddler\" aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n{{$:/core/images/edit-button}}\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">edit</span>\n</$list>\n</$button>\n</span>\n</$reveal>\n</div>",
"title": "$:/Search",
"modifier": "Thomas Elmiger",
"modified": "20190303205937724",
"icon": "$:/plugins/telmiger/simple-search/images/search-button"
},
"$:/plugins/telmiger/simple-search/icon": {
"created": "20181104090446387",
"text": "{{$:/plugins/telmiger/simple-search/images/search-button}}",
"title": "$:/plugins/telmiger/simple-search/icon",
"tags": "",
"modified": "20181104090618636"
},
"$:/plugins/telmiger/simple-search/settings": {
"created": "20181104092840050",
"creator": "Thomas Elmiger",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n!! Settings\n\nAn options button is available on the search layer so you can always return to these settings when necessary. \n\n<$checkbox tiddler=\"$:/plugins/telmiger/simple-search/hide-options-button.css\" invertTag=\"yes\" tag=\"$:/tags/Stylesheet\"> show </$checkbox> the {{$:/plugins/telmiger/simple-search/ui/Buttons/options}} button\n\n!!! Design\n\n''Layer animation:'' Simple Search feels rather slow for values above 150, so make sure to check this TW setting. <br>\n<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> <$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/>\n\n''Search box border:'' Adapt the colour to the design of your wiki. Use //transparent// if you don’t want a border. <br>\n[[Border colour:|$:/plugins/telmiger/simple-search/settings/border-colour]] <$edit-text tiddler=\"$:/plugins/telmiger/simple-search/settings/border-colour\" tag=\"input\"/> <$edit-text tiddler=\"$:/plugins/telmiger/simple-search/settings/border-colour\" type=\"color\" tag=\"input\"/>\n\n\n!!! Search button\n\n<$checkbox tiddler=\"$:/config/PageControlButtons/Visibility/$:/plugins/telmiger/simple-search/ui/Buttons/search\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"> show in Page Toolbar (in the sidebar)</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/simple-search/ui/Buttons/search\" tag=\"$:/tags/TopRightBar\"> show in Top Right Bar (besides the sidebar toggle, permanently visible)</$checkbox>\n\n\n!!! Minimal search term length\n\n<label><$edit-text tiddler=\"$:/config/Search/MinLength\" size=\"3\" tag=\"input\"/> ''characters''</label>\n\n\n!!! Fields to search\n\n<label>''Field list:'' <$edit-text tiddler=\"$:/plugins/telmiger/simple-search/filter-other\" size=\"20\" tag=\"input\"/></label>\n\nThis list defines, which fields are relevant for the secondary result list (“Other”). The default value `-caption,title` leads to searches in all fields except caption and title. See [[search operator documentation|https://tiddlywiki.com/#search%20Operator]] for more info.\n\n\n!!! Create new tiddlers\n\n<$checkbox tiddler=\"$:/plugins/telmiger/simple-search/hide-new-button.css\" invertTag=\"yes\" tag=\"$:/tags/Stylesheet\"> show </$checkbox> the {{$:/plugins/telmiger/simple-search/ui/Buttons/new-tiddler}} button\n\nDefine the template for new tiddlers you can create based on search terms. The default value `{{$:/temp/advancedsearch}}` inserts your search term as title and caption.\n\n<label>''Title template:'' <$edit-text tiddler=\"$:/plugins/telmiger/simple-search/settings/new-tpl\" size=\"20\" tag=\"input\"/></label>\n\nUse the following field to add tags to tiddlers created via Simple Search. Don’t forget to add brackets to tags containing spaces, e.g. `[[My Tag]] Foo Bar`.\n\n<label>''Tag template:'' <$edit-text tiddler=\"$:/plugins/telmiger/simple-search/settings/new-tags\" size=\"20\" tag=\"input\"/></label>\n\n---\n\n!!! Search layer edit mode \n\nWould you like to edit the tiddler $:/Search? Activate edit mode here:\n\n<$checkbox tiddler=\"$:/plugins/telmiger/simple-search/settings/edit\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Show edit icon in lower left corner of the screen.</$checkbox>",
"title": "$:/plugins/telmiger/simple-search/settings",
"tags": "",
"modified": "20200528221006833",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/settings/border-colour": {
"created": "20181104130108875",
"title": "$:/plugins/telmiger/simple-search/settings/border-colour",
"text": "transparent",
"modified": "20181104131002009"
},
"$:/config/ShortcutInfo/simple-search": {
"text": "Launch a search",
"title": "$:/config/ShortcutInfo/simple-search",
"tags": ""
},
"$:/config/shortcuts/simple-search": {
"created": "20181222220644632",
"text": "shift-cmd-Space",
"title": "$:/config/shortcuts/simple-search",
"modified": "20200528210708420"
},
"$:/plugins/telmiger/simple-search/ui/KeyboardShortcuts/search": {
"text": "\\import $:/plugins/telmiger/simple-search/macros\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Search]]\" emptyMessage=<<simple-search-openSearch>>>\n<<simple-search-closeSearch>>\n</$list>\n</$navigator>",
"title": "$:/plugins/telmiger/simple-search/ui/KeyboardShortcuts/search",
"tags": "$:/tags/KeyboardShortcut",
"modifier": "Thomas Elmiger",
"modified": "20190303193712461",
"key": "((simple-search))",
"creator": "Thomas Elmiger",
"created": "20190129170004355"
},
"$:/plugins/telmiger/simple-search/support": {
"created": "20181222180114594",
"text": "{{$:/plugins/telmiger/support}}",
"title": "$:/plugins/telmiger/simple-search/support",
"tags": "",
"modified": "20181222180139534"
},
"$:/plugins/telmiger/simple-search/SearchResultsList": {
"created": "20190101192116785",
"creator": "Thomas Elmiger",
"text": "<div tabindex=\"0\">\n{{$:/plugins/telmiger/simple-search/SearchResultsTop}}\n{{$:/plugins/telmiger/simple-search/SearchResultsOther}}\n</div>",
"title": "$:/plugins/telmiger/simple-search/SearchResultsList",
"tags": "$:/tags/SearchResults",
"modified": "20190101201812743",
"modifier": "Thomas Elmiger",
"caption": "Simple Search"
},
"$:/plugins/telmiger/simple-search/ui/ListItemTemplate": {
"created": "20181230141935738",
"creator": "Thomas Elmiger",
"text": "<li class=\"tc-menu-list-item\">\n<$link to={{!!title}} tooltip=\"title: {{!!title}}\">\n<$view field=\"caption\"><$view field=\"title\"/></$view>\n</$link>\n</li>",
"title": "$:/plugins/telmiger/simple-search/ui/ListItemTemplate",
"tags": "",
"caption": "Template for search list items",
"modified": "20181230142103379",
"modifier": "Thomas Elmiger"
},
"$:/config/AnimationDuration": {
"text": "150",
"title": "$:/config/AnimationDuration",
"modified": "20181104093401834",
"created": "20181104093400732"
},
"$:/plugins/telmiger/simple-search/filter-other": {
"created": "20181230131454911",
"creator": "Thomas Elmiger",
"text": "-caption,title",
"title": "$:/plugins/telmiger/simple-search/filter-other",
"tags": "",
"modified": "20181230131454911",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/ui/Buttons/advanced-search": {
"created": "20190101210358315",
"creator": "Thomas Elmiger",
"text": "<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<<simple-search-closeSearch>>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>",
"title": "$:/plugins/telmiger/simple-search/ui/Buttons/advanced-search",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190303201445296",
"caption": "Simple to Advanced Search"
},
"$:/plugins/telmiger/simple-search/ui/Buttons/clear-search": {
"text": "<$button class=\"tc-btn-invisible\" tooltip=\"clear search field\" aria-label=\"reset search\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>",
"title": "$:/plugins/telmiger/simple-search/ui/Buttons/clear-search",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190303195058522",
"creator": "Thomas Elmiger",
"created": "20190101210749466",
"caption": "Clear Search"
},
"$:/plugins/telmiger/simple-search/ui/Buttons/new-tiddler": {
"created": "20190101203433764",
"creator": "Thomas Elmiger",
"text": "<$wikify name=\"id\" text=\"{{$:/plugins/telmiger/simple-search/settings/new-tpl}}\">\n<$button tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=\"tc-btn-invisible te-btn-mini\">\n<<simple-search-closeSearch>>\n<$action-createtiddler $basetitle=<<id>> tags={{$:/plugins/telmiger/simple-search/settings/new-tags}} text=\"\" caption=<<id>>/>\n<$action-navigate $to=<<id>>/>\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<id>>/>\n{{$:/core/images/new-button}}\n</$button>\n</$wikify>",
"title": "$:/plugins/telmiger/simple-search/ui/Buttons/new-tiddler",
"modifier": "Thomas Elmiger",
"modified": "20190303203604937",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"caption": "Create tiddler named with search term"
},
"$:/plugins/telmiger/simple-search/ui/Buttons/options": {
"created": "20190101204729675",
"creator": "Thomas Elmiger",
"text": "<$button tooltip=\"Options\" class=\"tc-btn-invisible te-btn-mini\">\n<<simple-search-closeSearch>>\n<$action-navigate $to=\"$:/plugins/telmiger/simple-search/settings\"/>\n{{$:/core/images/options-button}}\n</$button>",
"title": "$:/plugins/telmiger/simple-search/ui/Buttons/options",
"modified": "20190303201928917",
"caption": "Simple Search Options",
"modifier": "Thomas Elmiger",
"tags": ""
},
"$:/plugins/telmiger/simple-search/settings/new-tags": {
"created": "20190101213434925",
"title": "$:/plugins/telmiger/simple-search/settings/new-tags",
"text": "",
"modified": "20190101213434926"
},
"$:/plugins/telmiger/simple-search/settings/new-tpl": {
"created": "20190101213442298",
"creator": "Thomas Elmiger",
"title": "$:/plugins/telmiger/simple-search/settings/new-tpl",
"text": "{{$:/temp/advancedsearch}}",
"modified": "20190303200214861",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/SearchResultsOther": {
"created": "20190101201254151",
"creator": "Thomas Elmiger",
"text": "\\define other()\n<small>//Other//</small>\n<ul class=\"te-nav-list\">\n<$wikify name=\"other-filter\" text=\"[!is[system]search:{{$:/plugins/telmiger/simple-search/filter-other}}{$(searchTiddler)$}sort[title]limit[250]]\">\n<$list filter=<<other-filter>> template=\"$:/plugins/telmiger/simple-search/ui/ListItemTemplate\"/>\n</$wikify>\n</ul>\n\\end\n<<other>>",
"title": "$:/plugins/telmiger/simple-search/SearchResultsOther",
"modified": "20190101202507272",
"modifier": "Thomas Elmiger",
"caption": "Simple Search Other"
},
"$:/plugins/telmiger/simple-search/SearchResultsTop": {
"created": "20190101201620497",
"creator": "Thomas Elmiger",
"text": "\\define top()\n<small>//Caption/Title//</small>\n<ul class=\"te-nav-list\">\n<$list filter=\"[!is[system]search:caption,title{$(searchTiddler)$}sort[caption]limit[250]]\" template=\"$:/plugins/telmiger/simple-search/ui/ListItemTemplate\"/>\n</ul>\n\\end\n<<top>>",
"title": "$:/plugins/telmiger/simple-search/SearchResultsTop",
"modified": "20190101202403247",
"modifier": "Thomas Elmiger",
"caption": "Simple Search Top",
"tags": ""
},
"$:/core/ui/SideBarSegments/search": {
"created": "20190127221311868",
"creator": "Thomas Elmiger",
"title": "$:/core/ui/SideBarSegments/search",
"text": "",
"modified": "20190127221328995",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/simple-search/macros": {
"created": "20190303170108747",
"creator": "Thomas Elmiger",
"text": "\\define tempStory() $:/temp/simple-search/story\n\n\\define simple-search-openSearch()\n<$action-navigate $to=\"$:/Search\" $scroll=\"no\"/>\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\">\n<<simple-search-closeAdvanced>>\n</$list>\n\\end\n\n\\define simple-search-closeSearch()\n<$action-sendmessage $message=\"tm-close-tiddler\" $param=\"$:/Search\"/>\n<<simple-search-restoreAdvanced>>\n\\end\n\n\\define simple-search-closeAdvanced()\n<$set name=\"myStory\" filter=\"[list[$:/StoryList]]\" >\n<$action-setfield $tiddler=<<tempStory>> $field=\"text\" $value=<<myStory>>/>\n</$set>\n<$action-sendmessage $message=\"tm-close-tiddler\" $param=\"$:/AdvancedSearch\"/>\n\\end\n\n\\define simple-search-restoreAdvanced()\n<$list filter=\"[<tempStory>!is[missing]]\">\n<$action-setfield $tiddler=\"$:/StoryList\" list={{{ [<tempStory>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<tempStory>>/>\n</$list>\n\\end",
"title": "$:/plugins/telmiger/simple-search/macros",
"tags": "$:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20190303202350255"
},
"$:/plugins/telmiger/simple-search/ui/Buttons/close-search": {
"created": "20190303205314106",
"creator": "Thomas Elmiger",
"text": "<$button tooltip=\"Close Search\" aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<<simple-search-closeSearch>>\n{{$:/core/images/close-button}}\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">close</span>\n</$list>\n</$button>",
"title": "$:/plugins/telmiger/simple-search/ui/Buttons/close-search",
"modifier": "Thomas Elmiger",
"modified": "20190303212719631",
"caption": "{{$:/core/images/close-button}} Close Search"
},
"$:/plugins/telmiger/simple-search/about": {
"created": "20200528213406686",
"modified": "20200528213406686",
"title": "$:/plugins/telmiger/simple-search/about",
"text": "A nice and simple overlay interface for searching your wiki. Designed for mobile and desktop screens. \n''Reduce to the max.'' The standard search input field in the sidebar is removed, instead there is a {{$:/plugins/telmiger/simple-search/ui/Buttons/search}} [[button|$:/plugins/telmiger/simple-search/ui/Buttons/search]].",
"tags": ""
},
"$:/plugins/telmiger/simple-search/hide-new-button.css": {
"created": "20200528214941993",
"text": ".tc-simple-search-results .tc-image-new-button {\n display: none;\n}",
"tags": "",
"title": "$:/plugins/telmiger/simple-search/hide-new-button.css",
"modified": "20200528221159004"
},
"$:/plugins/telmiger/simple-search/hide-options-button.css": {
"created": "20200528221013699",
"text": ".tc-simple-search-results .tc-image-options-button {\n display: none;\n}",
"tags": "",
"title": "$:/plugins/telmiger/simple-search/hide-options-button.css",
"modified": "20200528221137581"
}
}
}
.tc-simple-search-results .tc-image-new-button {
display: none;
}
/*!
* FontAwesome 4.7.0 pour TiddlyWiki préparé par @naudinsylvain le 26/10/2016
* http://sylvain.naud.in
* https://forum.tiddlywiki.fr
* Howto : base64 -w 0 fontawesome-webfont.woff > fontawesome-webfont.txt
*
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url(data:application/font-woff;base64,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) format('woff');
font-weight: normal;
font-style: normal;
}
.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.33333333em;
line-height: 0.75em;
vertical-align: -15%;
}
.fa-2x {
font-size: 2em;
}
.fa-3x {
font-size: 3em;
}
.fa-4x {
font-size: 4em;
}
.fa-5x {
font-size: 5em;
}
.fa-fw {
width: 1.28571429em;
text-align: center;
}
.fa-ul {
padding-left: 0;
margin-left: 2.14285714em;
list-style-type: none;
}
.fa-ul > li {
position: relative;
}
.fa-li {
position: absolute;
left: -2.14285714em;
width: 2.14285714em;
top: 0.14285714em;
text-align: center;
}
.fa-li.fa-lg {
left: -1.85714286em;
}
.fa-border {
padding: .2em .25em .15em;
border: solid 0.08em #eeeeee;
border-radius: .1em;
}
.fa-pull-left {
float: left;
}
.fa-pull-right {
float: right;
}
.fa.fa-pull-left {
margin-right: .3em;
}
.fa.fa-pull-right {
margin-left: .3em;
}
/* Deprecated as of 4.4.0 */
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.fa.pull-left {
margin-right: .3em;
}
.fa.pull-right {
margin-left: .3em;
}
.fa-spin {
-webkit-animation: fa-spin 2s infinite linear;
animation: fa-spin 2s infinite linear;
}
.fa-pulse {
-webkit-animation: fa-spin 1s infinite steps(8);
animation: fa-spin 1s infinite steps(8);
}
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
.fa-rotate-90 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.fa-rotate-180 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.fa-rotate-270 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
.fa-flip-horizontal {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
-webkit-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.fa-flip-vertical {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
-webkit-transform: scale(1, -1);
-ms-transform: scale(1, -1);
transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
filter: none;
}
.fa-stack {
position: relative;
display: inline-block;
width: 2em;
height: 2em;
line-height: 2em;
vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
position: absolute;
left: 0;
width: 100%;
text-align: center;
}
.fa-stack-1x {
line-height: inherit;
}
.fa-stack-2x {
font-size: 2em;
}
.fa-inverse {
color: #ffffff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-glass:before {
content: "\f000";
}
.fa-music:before {
content: "\f001";
}
.fa-search:before {
content: "\f002";
}
.fa-envelope-o:before {
content: "\f003";
}
.fa-heart:before {
content: "\f004";
}
.fa-star:before {
content: "\f005";
}
.fa-star-o:before {
content: "\f006";
}
.fa-user:before {
content: "\f007";
}
.fa-film:before {
content: "\f008";
}
.fa-th-large:before {
content: "\f009";
}
.fa-th:before {
content: "\f00a";
}
.fa-th-list:before {
content: "\f00b";
}
.fa-check:before {
content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
content: "\f00d";
}
.fa-search-plus:before {
content: "\f00e";
}
.fa-search-minus:before {
content: "\f010";
}
.fa-power-off:before {
content: "\f011";
}
.fa-signal:before {
content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
content: "\f013";
}
.fa-trash-o:before {
content: "\f014";
}
.fa-home:before {
content: "\f015";
}
.fa-file-o:before {
content: "\f016";
}
.fa-clock-o:before {
content: "\f017";
}
.fa-road:before {
content: "\f018";
}
.fa-download:before {
content: "\f019";
}
.fa-arrow-circle-o-down:before {
content: "\f01a";
}
.fa-arrow-circle-o-up:before {
content: "\f01b";
}
.fa-inbox:before {
content: "\f01c";
}
.fa-play-circle-o:before {
content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
content: "\f01e";
}
.fa-refresh:before {
content: "\f021";
}
.fa-list-alt:before {
content: "\f022";
}
.fa-lock:before {
content: "\f023";
}
.fa-flag:before {
content: "\f024";
}
.fa-headphones:before {
content: "\f025";
}
.fa-volume-off:before {
content: "\f026";
}
.fa-volume-down:before {
content: "\f027";
}
.fa-volume-up:before {
content: "\f028";
}
.fa-qrcode:before {
content: "\f029";
}
.fa-barcode:before {
content: "\f02a";
}
.fa-tag:before {
content: "\f02b";
}
.fa-tags:before {
content: "\f02c";
}
.fa-book:before {
content: "\f02d";
}
.fa-bookmark:before {
content: "\f02e";
}
.fa-print:before {
content: "\f02f";
}
.fa-camera:before {
content: "\f030";
}
.fa-font:before {
content: "\f031";
}
.fa-bold:before {
content: "\f032";
}
.fa-italic:before {
content: "\f033";
}
.fa-text-height:before {
content: "\f034";
}
.fa-text-width:before {
content: "\f035";
}
.fa-align-left:before {
content: "\f036";
}
.fa-align-center:before {
content: "\f037";
}
.fa-align-right:before {
content: "\f038";
}
.fa-align-justify:before {
content: "\f039";
}
.fa-list:before {
content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
content: "\f03b";
}
.fa-indent:before {
content: "\f03c";
}
.fa-video-camera:before {
content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
content: "\f03e";
}
.fa-pencil:before {
content: "\f040";
}
.fa-map-marker:before {
content: "\f041";
}
.fa-adjust:before {
content: "\f042";
}
.fa-tint:before {
content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
content: "\f044";
}
.fa-share-square-o:before {
content: "\f045";
}
.fa-check-square-o:before {
content: "\f046";
}
.fa-arrows:before {
content: "\f047";
}
.fa-step-backward:before {
content: "\f048";
}
.fa-fast-backward:before {
content: "\f049";
}
.fa-backward:before {
content: "\f04a";
}
.fa-play:before {
content: "\f04b";
}
.fa-pause:before {
content: "\f04c";
}
.fa-stop:before {
content: "\f04d";
}
.fa-forward:before {
content: "\f04e";
}
.fa-fast-forward:before {
content: "\f050";
}
.fa-step-forward:before {
content: "\f051";
}
.fa-eject:before {
content: "\f052";
}
.fa-chevron-left:before {
content: "\f053";
}
.fa-chevron-right:before {
content: "\f054";
}
.fa-plus-circle:before {
content: "\f055";
}
.fa-minus-circle:before {
content: "\f056";
}
.fa-times-circle:before {
content: "\f057";
}
.fa-check-circle:before {
content: "\f058";
}
.fa-question-circle:before {
content: "\f059";
}
.fa-info-circle:before {
content: "\f05a";
}
.fa-crosshairs:before {
content: "\f05b";
}
.fa-times-circle-o:before {
content: "\f05c";
}
.fa-check-circle-o:before {
content: "\f05d";
}
.fa-ban:before {
content: "\f05e";
}
.fa-arrow-left:before {
content: "\f060";
}
.fa-arrow-right:before {
content: "\f061";
}
.fa-arrow-up:before {
content: "\f062";
}
.fa-arrow-down:before {
content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
content: "\f064";
}
.fa-expand:before {
content: "\f065";
}
.fa-compress:before {
content: "\f066";
}
.fa-plus:before {
content: "\f067";
}
.fa-minus:before {
content: "\f068";
}
.fa-asterisk:before {
content: "\f069";
}
.fa-exclamation-circle:before {
content: "\f06a";
}
.fa-gift:before {
content: "\f06b";
}
.fa-leaf:before {
content: "\f06c";
}
.fa-fire:before {
content: "\f06d";
}
.fa-eye:before {
content: "\f06e";
}
.fa-eye-slash:before {
content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
content: "\f071";
}
.fa-plane:before {
content: "\f072";
}
.fa-calendar:before {
content: "\f073";
}
.fa-random:before {
content: "\f074";
}
.fa-comment:before {
content: "\f075";
}
.fa-magnet:before {
content: "\f076";
}
.fa-chevron-up:before {
content: "\f077";
}
.fa-chevron-down:before {
content: "\f078";
}
.fa-retweet:before {
content: "\f079";
}
.fa-shopping-cart:before {
content: "\f07a";
}
.fa-folder:before {
content: "\f07b";
}
.fa-folder-open:before {
content: "\f07c";
}
.fa-arrows-v:before {
content: "\f07d";
}
.fa-arrows-h:before {
content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
content: "\f080";
}
.fa-twitter-square:before {
content: "\f081";
}
.fa-facebook-square:before {
content: "\f082";
}
.fa-camera-retro:before {
content: "\f083";
}
.fa-key:before {
content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
content: "\f085";
}
.fa-comments:before {
content: "\f086";
}
.fa-thumbs-o-up:before {
content: "\f087";
}
.fa-thumbs-o-down:before {
content: "\f088";
}
.fa-star-half:before {
content: "\f089";
}
.fa-heart-o:before {
content: "\f08a";
}
.fa-sign-out:before {
content: "\f08b";
}
.fa-linkedin-square:before {
content: "\f08c";
}
.fa-thumb-tack:before {
content: "\f08d";
}
.fa-external-link:before {
content: "\f08e";
}
.fa-sign-in:before {
content: "\f090";
}
.fa-trophy:before {
content: "\f091";
}
.fa-github-square:before {
content: "\f092";
}
.fa-upload:before {
content: "\f093";
}
.fa-lemon-o:before {
content: "\f094";
}
.fa-phone:before {
content: "\f095";
}
.fa-square-o:before {
content: "\f096";
}
.fa-bookmark-o:before {
content: "\f097";
}
.fa-phone-square:before {
content: "\f098";
}
.fa-twitter:before {
content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
content: "\f09a";
}
.fa-github:before {
content: "\f09b";
}
.fa-unlock:before {
content: "\f09c";
}
.fa-credit-card:before {
content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
content: "\f09e";
}
.fa-hdd-o:before {
content: "\f0a0";
}
.fa-bullhorn:before {
content: "\f0a1";
}
.fa-bell:before {
content: "\f0f3";
}
.fa-certificate:before {
content: "\f0a3";
}
.fa-hand-o-right:before {
content: "\f0a4";
}
.fa-hand-o-left:before {
content: "\f0a5";
}
.fa-hand-o-up:before {
content: "\f0a6";
}
.fa-hand-o-down:before {
content: "\f0a7";
}
.fa-arrow-circle-left:before {
content: "\f0a8";
}
.fa-arrow-circle-right:before {
content: "\f0a9";
}
.fa-arrow-circle-up:before {
content: "\f0aa";
}
.fa-arrow-circle-down:before {
content: "\f0ab";
}
.fa-globe:before {
content: "\f0ac";
}
.fa-wrench:before {
content: "\f0ad";
}
.fa-tasks:before {
content: "\f0ae";
}
.fa-filter:before {
content: "\f0b0";
}
.fa-briefcase:before {
content: "\f0b1";
}
.fa-arrows-alt:before {
content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
content: "\f0c1";
}
.fa-cloud:before {
content: "\f0c2";
}
.fa-flask:before {
content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
content: "\f0c5";
}
.fa-paperclip:before {
content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
content: "\f0c7";
}
.fa-square:before {
content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
content: "\f0c9";
}
.fa-list-ul:before {
content: "\f0ca";
}
.fa-list-ol:before {
content: "\f0cb";
}
.fa-strikethrough:before {
content: "\f0cc";
}
.fa-underline:before {
content: "\f0cd";
}
.fa-table:before {
content: "\f0ce";
}
.fa-magic:before {
content: "\f0d0";
}
.fa-truck:before {
content: "\f0d1";
}
.fa-pinterest:before {
content: "\f0d2";
}
.fa-pinterest-square:before {
content: "\f0d3";
}
.fa-google-plus-square:before {
content: "\f0d4";
}
.fa-google-plus:before {
content: "\f0d5";
}
.fa-money:before {
content: "\f0d6";
}
.fa-caret-down:before {
content: "\f0d7";
}
.fa-caret-up:before {
content: "\f0d8";
}
.fa-caret-left:before {
content: "\f0d9";
}
.fa-caret-right:before {
content: "\f0da";
}
.fa-columns:before {
content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
content: "\f0de";
}
.fa-envelope:before {
content: "\f0e0";
}
.fa-linkedin:before {
content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
content: "\f0e4";
}
.fa-comment-o:before {
content: "\f0e5";
}
.fa-comments-o:before {
content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
content: "\f0e7";
}
.fa-sitemap:before {
content: "\f0e8";
}
.fa-umbrella:before {
content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
content: "\f0ea";
}
.fa-lightbulb-o:before {
content: "\f0eb";
}
.fa-exchange:before {
content: "\f0ec";
}
.fa-cloud-download:before {
content: "\f0ed";
}
.fa-cloud-upload:before {
content: "\f0ee";
}
.fa-user-md:before {
content: "\f0f0";
}
.fa-stethoscope:before {
content: "\f0f1";
}
.fa-suitcase:before {
content: "\f0f2";
}
.fa-bell-o:before {
content: "\f0a2";
}
.fa-coffee:before {
content: "\f0f4";
}
.fa-cutlery:before {
content: "\f0f5";
}
.fa-file-text-o:before {
content: "\f0f6";
}
.fa-building-o:before {
content: "\f0f7";
}
.fa-hospital-o:before {
content: "\f0f8";
}
.fa-ambulance:before {
content: "\f0f9";
}
.fa-medkit:before {
content: "\f0fa";
}
.fa-fighter-jet:before {
content: "\f0fb";
}
.fa-beer:before {
content: "\f0fc";
}
.fa-h-square:before {
content: "\f0fd";
}
.fa-plus-square:before {
content: "\f0fe";
}
.fa-angle-double-left:before {
content: "\f100";
}
.fa-angle-double-right:before {
content: "\f101";
}
.fa-angle-double-up:before {
content: "\f102";
}
.fa-angle-double-down:before {
content: "\f103";
}
.fa-angle-left:before {
content: "\f104";
}
.fa-angle-right:before {
content: "\f105";
}
.fa-angle-up:before {
content: "\f106";
}
.fa-angle-down:before {
content: "\f107";
}
.fa-desktop:before {
content: "\f108";
}
.fa-laptop:before {
content: "\f109";
}
.fa-tablet:before {
content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
content: "\f10b";
}
.fa-circle-o:before {
content: "\f10c";
}
.fa-quote-left:before {
content: "\f10d";
}
.fa-quote-right:before {
content: "\f10e";
}
.fa-spinner:before {
content: "\f110";
}
.fa-circle:before {
content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
content: "\f112";
}
.fa-github-alt:before {
content: "\f113";
}
.fa-folder-o:before {
content: "\f114";
}
.fa-folder-open-o:before {
content: "\f115";
}
.fa-smile-o:before {
content: "\f118";
}
.fa-frown-o:before {
content: "\f119";
}
.fa-meh-o:before {
content: "\f11a";
}
.fa-gamepad:before {
content: "\f11b";
}
.fa-keyboard-o:before {
content: "\f11c";
}
.fa-flag-o:before {
content: "\f11d";
}
.fa-flag-checkered:before {
content: "\f11e";
}
.fa-terminal:before {
content: "\f120";
}
.fa-code:before {
content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
content: "\f123";
}
.fa-location-arrow:before {
content: "\f124";
}
.fa-crop:before {
content: "\f125";
}
.fa-code-fork:before {
content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
content: "\f127";
}
.fa-question:before {
content: "\f128";
}
.fa-info:before {
content: "\f129";
}
.fa-exclamation:before {
content: "\f12a";
}
.fa-superscript:before {
content: "\f12b";
}
.fa-subscript:before {
content: "\f12c";
}
.fa-eraser:before {
content: "\f12d";
}
.fa-puzzle-piece:before {
content: "\f12e";
}
.fa-microphone:before {
content: "\f130";
}
.fa-microphone-slash:before {
content: "\f131";
}
.fa-shield:before {
content: "\f132";
}
.fa-calendar-o:before {
content: "\f133";
}
.fa-fire-extinguisher:before {
content: "\f134";
}
.fa-rocket:before {
content: "\f135";
}
.fa-maxcdn:before {
content: "\f136";
}
.fa-chevron-circle-left:before {
content: "\f137";
}
.fa-chevron-circle-right:before {
content: "\f138";
}
.fa-chevron-circle-up:before {
content: "\f139";
}
.fa-chevron-circle-down:before {
content: "\f13a";
}
.fa-html5:before {
content: "\f13b";
}
.fa-css3:before {
content: "\f13c";
}
.fa-anchor:before {
content: "\f13d";
}
.fa-unlock-alt:before {
content: "\f13e";
}
.fa-bullseye:before {
content: "\f140";
}
.fa-ellipsis-h:before {
content: "\f141";
}
.fa-ellipsis-v:before {
content: "\f142";
}
.fa-rss-square:before {
content: "\f143";
}
.fa-play-circle:before {
content: "\f144";
}
.fa-ticket:before {
content: "\f145";
}
.fa-minus-square:before {
content: "\f146";
}
.fa-minus-square-o:before {
content: "\f147";
}
.fa-level-up:before {
content: "\f148";
}
.fa-level-down:before {
content: "\f149";
}
.fa-check-square:before {
content: "\f14a";
}
.fa-pencil-square:before {
content: "\f14b";
}
.fa-external-link-square:before {
content: "\f14c";
}
.fa-share-square:before {
content: "\f14d";
}
.fa-compass:before {
content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
content: "\f153";
}
.fa-gbp:before {
content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
content: "\f158";
}
.fa-won:before,
.fa-krw:before {
content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
content: "\f15a";
}
.fa-file:before {
content: "\f15b";
}
.fa-file-text:before {
content: "\f15c";
}
.fa-sort-alpha-asc:before {
content: "\f15d";
}
.fa-sort-alpha-desc:before {
content: "\f15e";
}
.fa-sort-amount-asc:before {
content: "\f160";
}
.fa-sort-amount-desc:before {
content: "\f161";
}
.fa-sort-numeric-asc:before {
content: "\f162";
}
.fa-sort-numeric-desc:before {
content: "\f163";
}
.fa-thumbs-up:before {
content: "\f164";
}
.fa-thumbs-down:before {
content: "\f165";
}
.fa-youtube-square:before {
content: "\f166";
}
.fa-youtube:before {
content: "\f167";
}
.fa-xing:before {
content: "\f168";
}
.fa-xing-square:before {
content: "\f169";
}
.fa-youtube-play:before {
content: "\f16a";
}
.fa-dropbox:before {
content: "\f16b";
}
.fa-stack-overflow:before {
content: "\f16c";
}
.fa-instagram:before {
content: "\f16d";
}
.fa-flickr:before {
content: "\f16e";
}
.fa-adn:before {
content: "\f170";
}
.fa-bitbucket:before {
content: "\f171";
}
.fa-bitbucket-square:before {
content: "\f172";
}
.fa-tumblr:before {
content: "\f173";
}
.fa-tumblr-square:before {
content: "\f174";
}
.fa-long-arrow-down:before {
content: "\f175";
}
.fa-long-arrow-up:before {
content: "\f176";
}
.fa-long-arrow-left:before {
content: "\f177";
}
.fa-long-arrow-right:before {
content: "\f178";
}
.fa-apple:before {
content: "\f179";
}
.fa-windows:before {
content: "\f17a";
}
.fa-android:before {
content: "\f17b";
}
.fa-linux:before {
content: "\f17c";
}
.fa-dribbble:before {
content: "\f17d";
}
.fa-skype:before {
content: "\f17e";
}
.fa-foursquare:before {
content: "\f180";
}
.fa-trello:before {
content: "\f181";
}
.fa-female:before {
content: "\f182";
}
.fa-male:before {
content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
content: "\f184";
}
.fa-sun-o:before {
content: "\f185";
}
.fa-moon-o:before {
content: "\f186";
}
.fa-archive:before {
content: "\f187";
}
.fa-bug:before {
content: "\f188";
}
.fa-vk:before {
content: "\f189";
}
.fa-weibo:before {
content: "\f18a";
}
.fa-renren:before {
content: "\f18b";
}
.fa-pagelines:before {
content: "\f18c";
}
.fa-stack-exchange:before {
content: "\f18d";
}
.fa-arrow-circle-o-right:before {
content: "\f18e";
}
.fa-arrow-circle-o-left:before {
content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
content: "\f191";
}
.fa-dot-circle-o:before {
content: "\f192";
}
.fa-wheelchair:before {
content: "\f193";
}
.fa-vimeo-square:before {
content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
content: "\f195";
}
.fa-plus-square-o:before {
content: "\f196";
}
.fa-space-shuttle:before {
content: "\f197";
}
.fa-slack:before {
content: "\f198";
}
.fa-envelope-square:before {
content: "\f199";
}
.fa-wordpress:before {
content: "\f19a";
}
.fa-openid:before {
content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
content: "\f19d";
}
.fa-yahoo:before {
content: "\f19e";
}
.fa-google:before {
content: "\f1a0";
}
.fa-reddit:before {
content: "\f1a1";
}
.fa-reddit-square:before {
content: "\f1a2";
}
.fa-stumbleupon-circle:before {
content: "\f1a3";
}
.fa-stumbleupon:before {
content: "\f1a4";
}
.fa-delicious:before {
content: "\f1a5";
}
.fa-digg:before {
content: "\f1a6";
}
.fa-pied-piper-pp:before {
content: "\f1a7";
}
.fa-pied-piper-alt:before {
content: "\f1a8";
}
.fa-drupal:before {
content: "\f1a9";
}
.fa-joomla:before {
content: "\f1aa";
}
.fa-language:before {
content: "\f1ab";
}
.fa-fax:before {
content: "\f1ac";
}
.fa-building:before {
content: "\f1ad";
}
.fa-child:before {
content: "\f1ae";
}
.fa-paw:before {
content: "\f1b0";
}
.fa-spoon:before {
content: "\f1b1";
}
.fa-cube:before {
content: "\f1b2";
}
.fa-cubes:before {
content: "\f1b3";
}
.fa-behance:before {
content: "\f1b4";
}
.fa-behance-square:before {
content: "\f1b5";
}
.fa-steam:before {
content: "\f1b6";
}
.fa-steam-square:before {
content: "\f1b7";
}
.fa-recycle:before {
content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
content: "\f1ba";
}
.fa-tree:before {
content: "\f1bb";
}
.fa-spotify:before {
content: "\f1bc";
}
.fa-deviantart:before {
content: "\f1bd";
}
.fa-soundcloud:before {
content: "\f1be";
}
.fa-database:before {
content: "\f1c0";
}
.fa-file-pdf-o:before {
content: "\f1c1";
}
.fa-file-word-o:before {
content: "\f1c2";
}
.fa-file-excel-o:before {
content: "\f1c3";
}
.fa-file-powerpoint-o:before {
content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
content: "\f1c8";
}
.fa-file-code-o:before {
content: "\f1c9";
}
.fa-vine:before {
content: "\f1ca";
}
.fa-codepen:before {
content: "\f1cb";
}
.fa-jsfiddle:before {
content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
content: "\f1cd";
}
.fa-circle-o-notch:before {
content: "\f1ce";
}
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
content: "\f1d1";
}
.fa-git-square:before {
content: "\f1d2";
}
.fa-git:before {
content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
content: "\f1d4";
}
.fa-tencent-weibo:before {
content: "\f1d5";
}
.fa-qq:before {
content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
content: "\f1d9";
}
.fa-history:before {
content: "\f1da";
}
.fa-circle-thin:before {
content: "\f1db";
}
.fa-header:before {
content: "\f1dc";
}
.fa-paragraph:before {
content: "\f1dd";
}
.fa-sliders:before {
content: "\f1de";
}
.fa-share-alt:before {
content: "\f1e0";
}
.fa-share-alt-square:before {
content: "\f1e1";
}
.fa-bomb:before {
content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
content: "\f1e3";
}
.fa-tty:before {
content: "\f1e4";
}
.fa-binoculars:before {
content: "\f1e5";
}
.fa-plug:before {
content: "\f1e6";
}
.fa-slideshare:before {
content: "\f1e7";
}
.fa-twitch:before {
content: "\f1e8";
}
.fa-yelp:before {
content: "\f1e9";
}
.fa-newspaper-o:before {
content: "\f1ea";
}
.fa-wifi:before {
content: "\f1eb";
}
.fa-calculator:before {
content: "\f1ec";
}
.fa-paypal:before {
content: "\f1ed";
}
.fa-google-wallet:before {
content: "\f1ee";
}
.fa-cc-visa:before {
content: "\f1f0";
}
.fa-cc-mastercard:before {
content: "\f1f1";
}
.fa-cc-discover:before {
content: "\f1f2";
}
.fa-cc-amex:before {
content: "\f1f3";
}
.fa-cc-paypal:before {
content: "\f1f4";
}
.fa-cc-stripe:before {
content: "\f1f5";
}
.fa-bell-slash:before {
content: "\f1f6";
}
.fa-bell-slash-o:before {
content: "\f1f7";
}
.fa-trash:before {
content: "\f1f8";
}
.fa-copyright:before {
content: "\f1f9";
}
.fa-at:before {
content: "\f1fa";
}
.fa-eyedropper:before {
content: "\f1fb";
}
.fa-paint-brush:before {
content: "\f1fc";
}
.fa-birthday-cake:before {
content: "\f1fd";
}
.fa-area-chart:before {
content: "\f1fe";
}
.fa-pie-chart:before {
content: "\f200";
}
.fa-line-chart:before {
content: "\f201";
}
.fa-lastfm:before {
content: "\f202";
}
.fa-lastfm-square:before {
content: "\f203";
}
.fa-toggle-off:before {
content: "\f204";
}
.fa-toggle-on:before {
content: "\f205";
}
.fa-bicycle:before {
content: "\f206";
}
.fa-bus:before {
content: "\f207";
}
.fa-ioxhost:before {
content: "\f208";
}
.fa-angellist:before {
content: "\f209";
}
.fa-cc:before {
content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
content: "\f20b";
}
.fa-meanpath:before {
content: "\f20c";
}
.fa-buysellads:before {
content: "\f20d";
}
.fa-connectdevelop:before {
content: "\f20e";
}
.fa-dashcube:before {
content: "\f210";
}
.fa-forumbee:before {
content: "\f211";
}
.fa-leanpub:before {
content: "\f212";
}
.fa-sellsy:before {
content: "\f213";
}
.fa-shirtsinbulk:before {
content: "\f214";
}
.fa-simplybuilt:before {
content: "\f215";
}
.fa-skyatlas:before {
content: "\f216";
}
.fa-cart-plus:before {
content: "\f217";
}
.fa-cart-arrow-down:before {
content: "\f218";
}
.fa-diamond:before {
content: "\f219";
}
.fa-ship:before {
content: "\f21a";
}
.fa-user-secret:before {
content: "\f21b";
}
.fa-motorcycle:before {
content: "\f21c";
}
.fa-street-view:before {
content: "\f21d";
}
.fa-heartbeat:before {
content: "\f21e";
}
.fa-venus:before {
content: "\f221";
}
.fa-mars:before {
content: "\f222";
}
.fa-mercury:before {
content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
content: "\f224";
}
.fa-transgender-alt:before {
content: "\f225";
}
.fa-venus-double:before {
content: "\f226";
}
.fa-mars-double:before {
content: "\f227";
}
.fa-venus-mars:before {
content: "\f228";
}
.fa-mars-stroke:before {
content: "\f229";
}
.fa-mars-stroke-v:before {
content: "\f22a";
}
.fa-mars-stroke-h:before {
content: "\f22b";
}
.fa-neuter:before {
content: "\f22c";
}
.fa-genderless:before {
content: "\f22d";
}
.fa-facebook-official:before {
content: "\f230";
}
.fa-pinterest-p:before {
content: "\f231";
}
.fa-whatsapp:before {
content: "\f232";
}
.fa-server:before {
content: "\f233";
}
.fa-user-plus:before {
content: "\f234";
}
.fa-user-times:before {
content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
content: "\f236";
}
.fa-viacoin:before {
content: "\f237";
}
.fa-train:before {
content: "\f238";
}
.fa-subway:before {
content: "\f239";
}
.fa-medium:before {
content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
content: "\f23b";
}
.fa-optin-monster:before {
content: "\f23c";
}
.fa-opencart:before {
content: "\f23d";
}
.fa-expeditedssl:before {
content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
content: "\f244";
}
.fa-mouse-pointer:before {
content: "\f245";
}
.fa-i-cursor:before {
content: "\f246";
}
.fa-object-group:before {
content: "\f247";
}
.fa-object-ungroup:before {
content: "\f248";
}
.fa-sticky-note:before {
content: "\f249";
}
.fa-sticky-note-o:before {
content: "\f24a";
}
.fa-cc-jcb:before {
content: "\f24b";
}
.fa-cc-diners-club:before {
content: "\f24c";
}
.fa-clone:before {
content: "\f24d";
}
.fa-balance-scale:before {
content: "\f24e";
}
.fa-hourglass-o:before {
content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
content: "\f253";
}
.fa-hourglass:before {
content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
content: "\f256";
}
.fa-hand-scissors-o:before {
content: "\f257";
}
.fa-hand-lizard-o:before {
content: "\f258";
}
.fa-hand-spock-o:before {
content: "\f259";
}
.fa-hand-pointer-o:before {
content: "\f25a";
}
.fa-hand-peace-o:before {
content: "\f25b";
}
.fa-trademark:before {
content: "\f25c";
}
.fa-registered:before {
content: "\f25d";
}
.fa-creative-commons:before {
content: "\f25e";
}
.fa-gg:before {
content: "\f260";
}
.fa-gg-circle:before {
content: "\f261";
}
.fa-tripadvisor:before {
content: "\f262";
}
.fa-odnoklassniki:before {
content: "\f263";
}
.fa-odnoklassniki-square:before {
content: "\f264";
}
.fa-get-pocket:before {
content: "\f265";
}
.fa-wikipedia-w:before {
content: "\f266";
}
.fa-safari:before {
content: "\f267";
}
.fa-chrome:before {
content: "\f268";
}
.fa-firefox:before {
content: "\f269";
}
.fa-opera:before {
content: "\f26a";
}
.fa-internet-explorer:before {
content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
content: "\f26c";
}
.fa-contao:before {
content: "\f26d";
}
.fa-500px:before {
content: "\f26e";
}
.fa-amazon:before {
content: "\f270";
}
.fa-calendar-plus-o:before {
content: "\f271";
}
.fa-calendar-minus-o:before {
content: "\f272";
}
.fa-calendar-times-o:before {
content: "\f273";
}
.fa-calendar-check-o:before {
content: "\f274";
}
.fa-industry:before {
content: "\f275";
}
.fa-map-pin:before {
content: "\f276";
}
.fa-map-signs:before {
content: "\f277";
}
.fa-map-o:before {
content: "\f278";
}
.fa-map:before {
content: "\f279";
}
.fa-commenting:before {
content: "\f27a";
}
.fa-commenting-o:before {
content: "\f27b";
}
.fa-houzz:before {
content: "\f27c";
}
.fa-vimeo:before {
content: "\f27d";
}
.fa-black-tie:before {
content: "\f27e";
}
.fa-fonticons:before {
content: "\f280";
}
.fa-reddit-alien:before {
content: "\f281";
}
.fa-edge:before {
content: "\f282";
}
.fa-credit-card-alt:before {
content: "\f283";
}
.fa-codiepie:before {
content: "\f284";
}
.fa-modx:before {
content: "\f285";
}
.fa-fort-awesome:before {
content: "\f286";
}
.fa-usb:before {
content: "\f287";
}
.fa-product-hunt:before {
content: "\f288";
}
.fa-mixcloud:before {
content: "\f289";
}
.fa-scribd:before {
content: "\f28a";
}
.fa-pause-circle:before {
content: "\f28b";
}
.fa-pause-circle-o:before {
content: "\f28c";
}
.fa-stop-circle:before {
content: "\f28d";
}
.fa-stop-circle-o:before {
content: "\f28e";
}
.fa-shopping-bag:before {
content: "\f290";
}
.fa-shopping-basket:before {
content: "\f291";
}
.fa-hashtag:before {
content: "\f292";
}
.fa-bluetooth:before {
content: "\f293";
}
.fa-bluetooth-b:before {
content: "\f294";
}
.fa-percent:before {
content: "\f295";
}
.fa-gitlab:before {
content: "\f296";
}
.fa-wpbeginner:before {
content: "\f297";
}
.fa-wpforms:before {
content: "\f298";
}
.fa-envira:before {
content: "\f299";
}
.fa-universal-access:before {
content: "\f29a";
}
.fa-wheelchair-alt:before {
content: "\f29b";
}
.fa-question-circle-o:before {
content: "\f29c";
}
.fa-blind:before {
content: "\f29d";
}
.fa-audio-description:before {
content: "\f29e";
}
.fa-volume-control-phone:before {
content: "\f2a0";
}
.fa-braille:before {
content: "\f2a1";
}
.fa-assistive-listening-systems:before {
content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
content: "\f2a4";
}
.fa-glide:before {
content: "\f2a5";
}
.fa-glide-g:before {
content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
content: "\f2a7";
}
.fa-low-vision:before {
content: "\f2a8";
}
.fa-viadeo:before {
content: "\f2a9";
}
.fa-viadeo-square:before {
content: "\f2aa";
}
.fa-snapchat:before {
content: "\f2ab";
}
.fa-snapchat-ghost:before {
content: "\f2ac";
}
.fa-snapchat-square:before {
content: "\f2ad";
}
.fa-pied-piper:before {
content: "\f2ae";
}
.fa-first-order:before {
content: "\f2b0";
}
.fa-yoast:before {
content: "\f2b1";
}
.fa-themeisle:before {
content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
content: "\f2b4";
}
.fa-handshake-o:before {
content: "\f2b5";
}
.fa-envelope-open:before {
content: "\f2b6";
}
.fa-envelope-open-o:before {
content: "\f2b7";
}
.fa-linode:before {
content: "\f2b8";
}
.fa-address-book:before {
content: "\f2b9";
}
.fa-address-book-o:before {
content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
content: "\f2bc";
}
.fa-user-circle:before {
content: "\f2bd";
}
.fa-user-circle-o:before {
content: "\f2be";
}
.fa-user-o:before {
content: "\f2c0";
}
.fa-id-badge:before {
content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
content: "\f2c3";
}
.fa-quora:before {
content: "\f2c4";
}
.fa-free-code-camp:before {
content: "\f2c5";
}
.fa-telegram:before {
content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
content: "\f2cb";
}
.fa-shower:before {
content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
content: "\f2cd";
}
.fa-podcast:before {
content: "\f2ce";
}
.fa-window-maximize:before {
content: "\f2d0";
}
.fa-window-minimize:before {
content: "\f2d1";
}
.fa-window-restore:before {
content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
content: "\f2d4";
}
.fa-bandcamp:before {
content: "\f2d5";
}
.fa-grav:before {
content: "\f2d6";
}
.fa-etsy:before {
content: "\f2d7";
}
.fa-imdb:before {
content: "\f2d8";
}
.fa-ravelry:before {
content: "\f2d9";
}
.fa-eercast:before {
content: "\f2da";
}
.fa-microchip:before {
content: "\f2db";
}
.fa-snowflake-o:before {
content: "\f2dc";
}
.fa-superpowers:before {
content: "\f2dd";
}
.fa-wpexplorer:before {
content: "\f2de";
}
.fa-meetup:before {
content: "\f2e0";
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
{
"tiddlers": {
"$:/config/EditorTypeMappings/application/javascript": {
"title": "$:/config/EditorTypeMappings/application/javascript",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/application/json": {
"title": "$:/config/EditorTypeMappings/application/json",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/application/x-tiddler-dictionary": {
"title": "$:/config/EditorTypeMappings/application/x-tiddler-dictionary",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/text/css": {
"title": "$:/config/EditorTypeMappings/text/css",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/text/html": {
"title": "$:/config/EditorTypeMappings/text/html",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/text/plain": {
"title": "$:/config/EditorTypeMappings/text/plain",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/text/x-markdown": {
"title": "$:/config/EditorTypeMappings/text/x-markdown",
"text": "codemirror"
},
"$:/config/EditorTypeMappings/text/x-tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/x-tiddlywiki",
"text": "codemirror"
},
"$:/config/codemirror/cursorBlinkRate": {
"title": "$:/config/codemirror/cursorBlinkRate",
"type": "integer",
"text": "530"
},
"$:/config/codemirror/extraKeysTW": {
"title": "$:/config/codemirror/extraKeysTW",
"extend": "extraKeys",
"type": "json",
"text": "{\n\t\"Ctrl-Esc\": \"singleSelection\",\n\t\"Esc\": \"\",\n\t\"Ctrl-S\": \"\",\n\t\"Ctrl-U\": \"\",\n\t\"Ctrl-T\": \"\",\n\t\"Alt-T\": \"transposeChars\",\n\t\"Alt-U\": \"undoSelection\",\n\t\"Shift-Alt-U\": \"redoSelection\",\n\t\"Cmd-U\": \"\",\n\t\"Tab\": \"indentAuto()\",\n\t\"Enter\": \"newLineAndIndent()\"\n}\n"
},
"$:/config/codemirror/indentUnit": {
"title": "$:/config/codemirror/indentUnit",
"type": "integer",
"text": "2"
},
"$:/config/codemirror/indentWithTabs": {
"title": "$:/config/codemirror/indentWithTabs",
"type": "bool",
"text": "true"
},
"$:/config/codemirror/inputStyle": {
"title": "$:/config/codemirror/inputStyle",
"type": "string",
"text": "textarea"
},
"$:/config/codemirror/keyMap": {
"title": "$:/config/codemirror/keyMap",
"type": "string",
"text": "default"
},
"$:/config/codemirror/lineNumbers": {
"title": "$:/config/codemirror/lineNumbers",
"type": "bool",
"text": "false"
},
"$:/config/codemirror/lineWrapping": {
"title": "$:/config/codemirror/lineWrapping",
"type": "bool",
"text": "true"
},
"$:/config/codemirror/showCursorWhenSelecting": {
"title": "$:/config/codemirror/showCursorWhenSelecting",
"type": "bool",
"text": "true"
},
"$:/config/codemirror/smartIndent": {
"title": "$:/config/codemirror/smartIndent",
"type": "bool",
"text": "true"
},
"$:/config/codemirror/styleActiveLine": {
"title": "$:/config/codemirror/styleActiveLine",
"type": "bool",
"text": "false"
},
"$:/config/codemirror/tabSize": {
"title": "$:/config/codemirror/tabSize",
"type": "integer",
"text": "2"
},
"$:/config/codemirror/theme": {
"title": "$:/config/codemirror/theme",
"type": "string",
"text": "tiddlywiki"
},
"$:/language/codemirror/homeUrl": {
"title": "$:/language/codemirror/homeUrl",
"text": "http://codemirror.net"
},
"$:/language/codemirror/addOnUrl": {
"title": "$:/language/codemirror/addOnUrl",
"text": "http://codemirror.net/doc/manual.html#addons"
},
"$:/language/codemirror/configUrl": {
"title": "$:/language/codemirror/configUrl",
"text": "http://codemirror.net/doc/manual.html#config"
},
"$:/language/codemirror/controlPanel/hint": {
"title": "$:/language/codemirror/controlPanel/hint",
"text": "These settings let you customise the behaviour of [[CodeMirror|$:/plugins/tiddlywiki/codemirror]]."
},
"$:/language/codemirror/controlPanel/keyboard": {
"title": "$:/language/codemirror/controlPanel/keyboard",
"text": "Keyboard shortcuts"
},
"$:/language/codemirror/controlPanel/usage": {
"title": "$:/language/codemirror/controlPanel/usage",
"text": "Usage information"
},
"$:/language/codemirror/cursorBlinkRate/hint": {
"title": "$:/language/codemirror/cursorBlinkRate/hint",
"text": "Cursor blink rate"
},
"$:/language/codemirror/editorFont/hint": {
"title": "$:/language/codemirror/editorFont/hint",
"text": "Editor font family"
},
"$:/language/codemirror/editorFont/info": {
"title": "$:/language/codemirror/editorFont/info",
"text": "Set the font family for the ~CodeMirror text-editor"
},
"$:/language/codemirror/indentUnit/hint": {
"title": "$:/language/codemirror/indentUnit/hint",
"text": "How many spaces a block should be indented"
},
"$:/language/codemirror/indentWithTabs/hint": {
"title": "$:/language/codemirror/indentWithTabs/hint",
"text": "Enable indenting with tabs"
},
"$:/language/codemirror/indentWithTabs/info": {
"title": "$:/language/codemirror/indentWithTabs/info",
"text": "Whether, when indenting, the first N*`tabSize` spaces should be replaced by N tabs."
},
"$:/language/codemirror/keyMap/hint": {
"title": "$:/language/codemirror/keyMap/hint",
"text": "~CodeMirror keymap"
},
"$:/language/codemirror/keyMap/info": {
"title": "$:/language/codemirror/keyMap/info",
"text": "~The Keyboard KeyMap used within the ~CodeMirror text-editor"
},
"$:/language/codemirror/lineNumbers/hint": {
"title": "$:/language/codemirror/lineNumbers/hint",
"text": "Enable line numbers"
},
"$:/language/codemirror/lineNumbers/info": {
"title": "$:/language/codemirror/lineNumbers/info",
"text": "Whether to show line numbers to the left of the editor."
},
"$:/language/codemirror/lineWrapping/hint": {
"title": "$:/language/codemirror/lineWrapping/hint",
"text": "Enable line wrapping"
},
"$:/language/codemirror/lineWrapping/info": {
"title": "$:/language/codemirror/lineWrapping/info",
"text": "Whether CodeMirror should scroll or wrap for long lines. Defaults to `false` (scroll)."
},
"$:/language/codemirror/showCursorWhenSelecting/hint": {
"title": "$:/language/codemirror/showCursorWhenSelecting/hint",
"text": "Show cursor, when selecting"
},
"$:/language/codemirror/showCursorWhenSelecting/info": {
"title": "$:/language/codemirror/showCursorWhenSelecting/info",
"text": "Whether the cursor should be drawn when a selection is active."
},
"$:/language/codemirror/smartIndent/hint": {
"title": "$:/language/codemirror/smartIndent/hint",
"text": "Enable smart indent"
},
"$:/language/codemirror/smartIndent/info": {
"title": "$:/language/codemirror/smartIndent/info",
"text": "Whether to use the context-sensitive indentation that the mode provides (or just indent the same as the line before). Defaults to `true`."
},
"$:/language/codemirror/styleActiveLine/hint": {
"title": "$:/language/codemirror/styleActiveLine/hint",
"text": "Highlight active line"
},
"$:/language/codemirror/styleActiveLine/info": {
"title": "$:/language/codemirror/styleActiveLine/info",
"text": "Whether or not to highlight the active text-editor line"
},
"$:/language/codemirror/tabSize/hint": {
"title": "$:/language/codemirror/tabSize/hint",
"text": "Width of a tab character"
},
"$:/language/codemirror/theme/hint": {
"title": "$:/language/codemirror/theme/hint",
"text": "Select a theme"
},
"$:/language/codemirror/theme/info": {
"title": "$:/language/codemirror/theme/info",
"text": "Choose between ~CodeMirror themes"
},
"$:/plugins/tiddlywiki/codemirror/edit-codemirror.js": {
"title": "$:/plugins/tiddlywiki/codemirror/edit-codemirror.js",
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/codemirror/edit-codemirror.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-codemirror widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tCodeMirrorEngine = require(\"$:/plugins/tiddlywiki/codemirror/engine.js\").CodeMirrorEngine;\n\nexports[\"edit-codemirror\"] = editTextWidgetFactory(CodeMirrorEngine,CodeMirrorEngine);\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tiddlywiki/codemirror/engine.js": {
"title": "$:/plugins/tiddlywiki/codemirror/engine.js",
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/codemirror/engine.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a CodeMirror instance\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CODEMIRROR_OPTIONS = \"$:/config/CodeMirror\",\nHEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\",\nCONFIG_FILTER = \"[all[shadows+tiddlers]prefix[$:/config/codemirror/]]\"\n\t\n// Install CodeMirror\nif($tw.browser && !window.CodeMirror) {\n\n\tvar modules = $tw.modules.types[\"codemirror\"];\n\tvar req = Object.getOwnPropertyNames(modules);\n\n\twindow.CodeMirror = require(\"$:/plugins/tiddlywiki/codemirror/lib/codemirror.js\");\n\t// Install required CodeMirror plugins\n\tif(req) {\n\t\tif($tw.utils.isArray(req)) {\n\t\t\tfor(var index=0; index<req.length; index++) {\n\t\t\t\trequire(req[index]);\n\t\t\t}\n\t\t} else {\n\t\t\trequire(req);\n\t\t}\n\t}\n}\n\nfunction getCmConfig() {\n\tvar type,\n\t\ttest,\n\t\tvalue,\n\t\telement,\n\t\textend,\n\t\ttiddler,\n\t\tconfig = {},\n\t\tconfigTiddlers = $tw.wiki.filterTiddlers(CONFIG_FILTER);\n\n\tif ($tw.utils.isArray(configTiddlers)) {\n\t\tfor (var i=0; i<configTiddlers.length; i++) {\n\t\t\ttiddler = $tw.wiki.getTiddler(configTiddlers[i]);\n\t\t\t\tif (tiddler) {\n\t\t\t\telement = configTiddlers[i].replace(/\\$:\\/config\\/codemirror\\//ig,\"\");\n\t\t\t\t\ttype = (tiddler.fields.type) ? tiddler.fields.type.trim().toLocaleLowerCase() : \"string\";\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase \"bool\":\n\t\t\t\t\ttest = tiddler.fields.text.trim().toLowerCase();\n\t\t\t\t\tvalue = (test === \"true\") ? true : false;\n\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"string\":\n\t\t\t\t\tvalue = tiddler.fields.text.trim();\n\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"integer\":\n\t\t\t\t\tvalue = parseInt(tiddler.fields.text.trim(), 10);\n\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"json\":\n\t\t\t\t\tvalue = JSON.parse(tiddler.fields.text.trim());\n\t\t\t\t\t\textend = (tiddler.fields.extend) ? tiddler.fields.extend : element;\n\n\t\t\t\t\tif (config[extend]) {\n\t\t\t\t\t\t$tw.utils.extend(config[extend], value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconfig[extend] = value;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn config;\n}\n\nfunction CodeMirrorEngine(options) {\n\n\t// Save our options\n\tvar self = this;\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create the wrapper DIV\n\tthis.domNode = this.widget.document.createElement(\"div\");\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tthis.domNode.style.display = \"inline-block\";\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n\t\n\t// Set all cm-plugin defaults\n\t// Get the configuration options for the CodeMirror object\n\tvar config = getCmConfig();\n\n\tconfig.mode = options.type;\n\tconfig.value = options.value;\n\tif(this.widget.editTabIndex) {\n\t\tconfig[\"tabindex\"] = this.widget.editTabIndex;\n\t}\n\t// Create the CodeMirror instance\n\tthis.cm = window.CodeMirror(function(cmDomNode) {\n\t\t// Note that this is a synchronous callback that is called before the constructor returns\n\t\tif(!self.widget.document.isTiddlyWikiFakeDom) {\n\t\t\tself.domNode.appendChild(cmDomNode);\n\t\t}\n\t},config);\n\n\t// Set up a change event handler\n\tthis.cm.on(\"change\",function() {\n\t\tself.widget.saveChanges(self.getText());\n\t\tif(self.widget.editInputActions) {\n\t\t\tself.widget.invokeActionString(self.widget.editInputActions);\n\t\t}\n\t});\n\tthis.cm.on(\"drop\",function(cm,event) {\n\t\tevent.stopPropagation(); // Otherwise TW's dropzone widget sees the drop event\n\t\treturn false;\n\t});\n\tthis.cm.on(\"keydown\",function(cm,event) {\n\t\treturn self.widget.handleKeydownEvent.call(self.widget,event);\n\t});\n\tthis.cm.on(\"focus\",function(cm,event) {\n\t\tif(self.widget.editCancelPopups) {\n\t\t\t$tw.popup.cancel(0);\t\n\t\t}\n\t});\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nCodeMirrorEngine.prototype.setText = function(text,type) {\n\tvar self = this;\n\tself.cm.setOption(\"mode\",type);\n\tif(!this.cm.hasFocus()) {\n\t\tthis.updateDomNodeText(text);\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nCodeMirrorEngine.prototype.updateDomNodeText = function(text) {\n\tthis.cm.setValue(text);\n};\n\n/*\nGet the text of the engine\n*/\nCodeMirrorEngine.prototype.getText = function() {\n\treturn this.cm.getValue();\n};\n\n/*\nFix the height of textarea to fit content\n*/\nCodeMirrorEngine.prototype.fixHeight = function() {\n\tif(this.widget.editAutoHeight) {\n\t\t// Resize to fit\n\t\tthis.cm.setSize(null,null);\n\t} else {\n\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\tthis.cm.setSize(null,fixedHeight);\n\t}\n};\n\n/*\nFocus the engine node\n*/\nCodeMirrorEngine.prototype.focus = function() {\n\tthis.cm.focus();\n}\n\n/*\nCreate a blank structure representing a text operation\n*/\nCodeMirrorEngine.prototype.createTextOperation = function() {\n\tvar selections = this.cm.listSelections();\n\tif(selections.length > 0) {\n\t\tvar anchorPos = this.cm.indexFromPos(selections[0].anchor),\n\t\theadPos = this.cm.indexFromPos(selections[0].head);\n\t}\n\tvar operation = {\n\t\ttext: this.cm.getValue(),\n\t\tselStart: Math.min(anchorPos,headPos),\n\t\tselEnd: Math.max(anchorPos,headPos),\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nCodeMirrorEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tthis.cm.replaceRange(operation.replacement,this.cm.posFromIndex(operation.cutStart),this.cm.posFromIndex(operation.cutEnd));\n\t\tthis.cm.setSelection(this.cm.posFromIndex(operation.newSelStart),this.cm.posFromIndex(operation.newSelEnd));\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t}\n\tthis.cm.focus();\n\treturn newText;\n};\n\nexports.CodeMirrorEngine = CodeMirrorEngine;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/tiddlywiki/codemirror/lib/codemirror.js": {
"text": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).CodeMirror=t()}(this,function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,d=/gecko\\/\\d/i.test(e),n=/MSIE \\d/.test(e),r=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),i=/Edge\\/(\\d+)/.exec(e),w=n||r||i,v=w&&(n?document.documentMode||6:+(i||r)[1]),f=!i&&/WebKit\\//.test(e),r=f&&/Qt\\/\\d+\\.\\d+/.test(e),o=!i&&/Chrome\\//.test(e),p=/Opera\\//.test(e),c=/Apple Computer/.test(navigator.vendor),l=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),u=/PhantomJS/.test(e),s=!i&&/AppleWebKit/.test(e)&&/Mobile\\/\\w+/.test(e),a=/Android/.test(e),h=s||a||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),g=s||/Mac/.test(t),m=/\\bCrOS\\b/.test(e),y=/win/i.test(t),e=p&&e.match(/Version\\/(\\d*\\.\\d*)/);(e=e&&Number(e[1]))&&15<=e&&(f=!(p=!1));var b=g&&(r||p&&(null==e||e<12.11)),x=d||w&&9<=v;function C(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var S,L=function(e,t){var n=e.className,r=C(t).exec(n);r&&(t=n.slice(r.index+r[0].length),e.className=n.slice(0,r.index)+(t?r[1]+t:\"\"))};function k(e){for(var t=e.childNodes.length;0<t;--t)e.removeChild(e.firstChild);return e}function T(e,t){return k(e).appendChild(t)}function M(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function N(e,t,n,r){r=M(e,t,n,r);return r.setAttribute(\"role\",\"presentation\"),r}function A(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function O(){var t;try{t=document.activeElement}catch(e){t=document.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function D(e,t){var n=e.className;C(t).test(n)||(e.className+=(n?\" \":\"\")+t)}function W(e,t){for(var n=e.split(\" \"),r=0;r<n.length;r++)n[r]&&!C(n[r]).test(t)&&(t+=\" \"+n[r]);return t}S=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd(\"character\",n),r.moveStart(\"character\",t),r};var H=function(e){e.select()};function F(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function E(e,t,n){for(var r in t=t||{},e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function P(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\\s\\u00a0]/))&&(t=e.length);for(var o=r||0,l=i||0;;){var s=e.indexOf(\"\\t\",o);if(s<0||t<=s)return l+(t-o);l+=s-o,l+=n-l%n,o=s+1}}s?H=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:w&&(H=function(e){try{e.select()}catch(e){}});var I=function(){this.id=null,this.f=null,this.time=0,this.handler=F(this.onTimeout,this)};function R(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}I.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},I.prototype.set=function(e,t){this.f=t;t=+new Date+e;(!this.id||t<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=t)};var z=50,B={toString:function(){return\"CodeMirror.Pass\"}},G={scroll:!1},U={origin:\"*mouse\"},V={origin:\"+move\"};function K(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(\"\\t\",r);-1==o&&(o=e.length);var l=o-r;if(o==e.length||t<=i+l)return r+Math.min(l,t-i);if(i+=o-r,r=o+1,t<=(i+=n-i%n))return r}}var j=[\"\"];function X(e){for(;j.length<=e;)j.push(Y(j)+\" \");return j[e]}function Y(e){return e[e.length-1]}function _(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function $(){}function q(e,t){e=Object.create?Object.create(e):($.prototype=e,new $);return t&&E(t,e),e}var Z=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;function Q(e){return/\\w/.test(e)||\"\"<e&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function J(e,t){return t?!!(-1<t.source.indexOf(\"\\\\w\")&&Q(e))||t.test(e):Q(e)}function ee(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return;return 1}var te=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function ne(e){return 768<=e.charCodeAt(0)&&te.test(e)}function re(e,t,n){for(;(n<0?0<t:t<e.length)&&ne(e.charAt(t));)t+=n;return t}function ie(e,t,n){for(var r=n<t?-1:1;;){if(t==n)return t;var i=(t+n)/2,i=r<0?Math.ceil(i):Math.floor(i);if(i==t)return e(i)?t:n;e(i)?n=i:t=i+r}}var oe=null;function le(e,t,n){var r;oe=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:oe=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:oe=i)}return null!=r?r:oe}var se,ae,ue,ce,he,de,fe,pe=(se=\"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\",ae=\"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\",ue=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,ce=/[stwN]/,he=/[LRr]/,de=/[Lb1n]/,fe=/[1n]/,function(e,t){var n=\"ltr\"==t?\"L\":\"R\";if(0==e.length||\"ltr\"==t&&!ue.test(e))return!1;for(var r,i=e.length,o=[],l=0;l<i;++l)o.push((r=e.charCodeAt(l))<=247?se.charAt(r):1424<=r&&r<=1524?\"R\":1536<=r&&r<=1785?ae.charAt(r-1536):1774<=r&&r<=2220?\"r\":8192<=r&&r<=8203?\"w\":8204==r?\"b\":\"L\");for(var s=0,a=n;s<i;++s){var u=o[s];\"m\"==u?o[s]=a:a=u}for(var c=0,h=n;c<i;++c){var d=o[c];\"1\"==d&&\"r\"==h?o[c]=\"n\":he.test(d)&&\"r\"==(h=d)&&(o[c]=\"R\")}for(var f=1,p=o[0];f<i-1;++f){var g=o[f];\"+\"==g&&\"1\"==p&&\"1\"==o[f+1]?o[f]=\"1\":\",\"!=g||p!=o[f+1]||\"1\"!=p&&\"n\"!=p||(o[f]=p),p=g}for(var m=0;m<i;++m){var v=o[m];if(\",\"==v)o[m]=\"N\";else if(\"%\"==v){for(var y=void 0,y=m+1;y<i&&\"%\"==o[y];++y);for(var b=m&&\"!\"==o[m-1]||y<i&&\"1\"==o[y]?\"1\":\"N\",w=m;w<y;++w)o[w]=b;m=y-1}}for(var x=0,C=n;x<i;++x){var S=o[x];\"L\"==C&&\"1\"==S?o[x]=\"L\":he.test(S)&&(C=S)}for(var L=0;L<i;++L)if(ce.test(o[L])){for(var k=void 0,k=L+1;k<i&&ce.test(o[k]);++k);for(var T=\"L\"==(L?o[L-1]:n),M=T==(\"L\"==(k<i?o[k]:n))?T?\"L\":\"R\":n,N=L;N<k;++N)o[N]=M;L=k-1}for(var A,O=[],D=0;D<i;)if(de.test(o[D])){var W=D;for(++D;D<i&&de.test(o[D]);++D);O.push(new ge(0,W,D))}else{var H=D,F=O.length,E=\"rtl\"==t?1:0;for(++D;D<i&&\"L\"!=o[D];++D);for(var P=H;P<D;)if(fe.test(o[P])){H<P&&(O.splice(F,0,new ge(1,H,P)),F+=E);var I=P;for(++P;P<D&&fe.test(o[P]);++P);O.splice(F,0,new ge(2,I,P)),F+=E,H=P}else++P;H<D&&O.splice(F,0,new ge(1,H,D))}return\"ltr\"==t&&(1==O[0].level&&(A=e.match(/^\\s+/))&&(O[0].from=A[0].length,O.unshift(new ge(0,0,A[0].length))),1==Y(O).level&&(A=e.match(/\\s+$/))&&(Y(O).to-=A[0].length,O.push(new ge(0,i-A[0].length,i)))),\"rtl\"==t?O.reverse():O});function ge(e,t,n){this.level=e,this.from=t,this.to=n}function me(e,t){var n=e.order;return null==n&&(n=e.order=pe(e.text,t)),n}var ve=[],ye=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent(\"on\"+t,n):(e=e._handlers||(e._handlers={}))[t]=(e[t]||ve).concat(n)};function be(e,t){return e._handlers&&e._handlers[t]||ve}function we(e,t,n){var r;e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent(\"on\"+t,n):!(e=(r=e._handlers)&&r[t])||-1<(n=R(e,n))&&(r[t]=e.slice(0,n).concat(e.slice(n+1)))}function xe(e,t){var n=be(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function Ce(e,t,n){return\"string\"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),xe(e,n||t.type,e,t),Ne(t)||t.codemirrorIgnore}function Se(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==R(n,t[r])&&n.push(t[r])}function Le(e,t){return 0<be(e,t).length}function ke(e){e.prototype.on=function(e,t){ye(this,e,t)},e.prototype.off=function(e,t){we(this,e,t)}}function Te(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Me(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ne(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Ae(e){Te(e),Me(e)}function Oe(e){return e.target||e.srcElement}function De(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),g&&e.ctrlKey&&1==t&&(t=3),t}var We,He,Fe=function(){if(w&&v<9)return!1;var e=M(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();var Ee=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),l=o.indexOf(\"\\r\");-1!=l?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},Pe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Ie=\"oncopy\"in(r=M(\"div\"))||(r.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof r.oncopy),Re=null;var ze={},Be={};function Ge(e){if(\"string\"==typeof e&&Be.hasOwnProperty(e))e=Be[e];else if(e&&\"string\"==typeof e.name&&Be.hasOwnProperty(e.name)){var t=Be[e.name];\"string\"==typeof t&&(t={name:t}),(e=q(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return Ge(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return Ge(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function Ue(e,t){t=Ge(t);var n=ze[t.name];if(!n)return Ue(e,\"text/plain\");var r=n(e,t);if(Ve.hasOwnProperty(t.name)){var i,o=Ve[t.name];for(i in o)o.hasOwnProperty(i)&&(r.hasOwnProperty(i)&&(r[\"_\"+i]=r[i]),r[i]=o[i])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var Ve={};function Ke(e,t){E(t,Ve.hasOwnProperty(e)?Ve[e]:Ve[e]={})}function je(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n,r={};for(n in t){var i=t[n];i instanceof Array&&(i=i.concat([])),r[n]=i}return r}function Xe(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ye(e,t,n){return!e.startState||e.startState(t,n)}var _e=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function $e(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function qe(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(e){e=e.text;i==n.line&&(e=e.slice(0,n.ch)),i==t.line&&(e=e.slice(t.ch)),r.push(e),++i}),r}function Ze(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function Qe(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function Je(e){if(null==e.parent)return null;for(var t=e.parent,n=R(t.lines,e),r=t.parent;r;r=(t=r).parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function et(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var l=0;l<e.lines.length;++l){var s=e.lines[l].height;if(t<s)break;t-=s}return n+l}function tt(e,t){return t>=e.first&&t<e.first+e.size}function nt(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function rt(e,t,n){if(void 0===n&&(n=null),!(this instanceof rt))return new rt(e,t,n);this.line=e,this.ch=t,this.sticky=n}function it(e,t){return e.line-t.line||e.ch-t.ch}function ot(e,t){return e.sticky==t.sticky&&0==it(e,t)}function lt(e){return rt(e.line,e.ch)}function st(e,t){return it(e,t)<0?t:e}function at(e,t){return it(e,t)<0?e:t}function ut(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function ct(e,t){if(t.line<e.first)return rt(e.first,0);var n=e.first+e.size-1;return t.line>n?rt(n,$e(e,n).text.length):(e=$e(e,(n=t).line).text.length,null==(t=n.ch)||e<t?rt(n.line,e):t<0?rt(n.line,0):n)}function ht(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=ct(e,t[r]);return n}_e.prototype.eol=function(){return this.pos>=this.string.length},_e.prototype.sol=function(){return this.pos==this.lineStart},_e.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},_e.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},_e.prototype.eat=function(e){var t=this.string.charAt(this.pos),e=\"string\"==typeof e?t==e:t&&(e.test?e.test(t):e(t));if(e)return++this.pos,t},_e.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},_e.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},_e.prototype.skipToEnd=function(){this.pos=this.string.length},_e.prototype.skipTo=function(e){e=this.string.indexOf(e,this.pos);if(-1<e)return this.pos=e,!0},_e.prototype.backUp=function(e){this.pos-=e},_e.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=P(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?P(this.string,this.lineStart,this.tabSize):0)},_e.prototype.indentation=function(){return P(this.string,null,this.tabSize)-(this.lineStart?P(this.string,this.lineStart,this.tabSize):0)},_e.prototype.match=function(e,t,n){if(\"string\"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&0<r.index?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},_e.prototype.current=function(){return this.string.slice(this.start,this.pos)},_e.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},_e.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},_e.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var dt=function(e,t){this.state=e,this.lookAhead=t},ft=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function pt(t,n,r,e){var a=[t.state.modeGen],i={};St(t,n.text,t.doc.mode,r,function(e,t){return a.push(e,t)},i,e);for(var u=r.state,o=0;o<t.state.overlays.length;++o)!function(e){r.baseTokens=a;var o=t.state.overlays[e],l=1,s=0;r.state=!0,St(t,n.text,o.mode,r,function(e,t){for(var n=l;s<e;){var r=a[l];e<r&&a.splice(l,1,e,a[l+1],r),l+=2,s=Math.min(e,r)}if(t)if(o.opaque)a.splice(n,l-n,e,\"overlay \"+t),l=n+2;else for(;n<l;n+=2){var i=a[n+1];a[n+1]=(i?i+\" \":\"\")+\"overlay \"+t}},i),r.state=u,r.baseTokens=null,r.baseTokenPos=1}(o);return{styles:a,classes:i.bgClass||i.textClass?i:null}}function gt(e,t,n){var r,i,o;return t.styles&&t.styles[0]==e.state.modeGen||(r=mt(e,Je(t)),i=t.text.length>e.options.maxHighlightLength&&je(e.doc.mode,r.state),o=pt(e,t,r),i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))),t.styles}function mt(n,r,e){var t=n.doc,i=n.display;if(!t.mode.startState)return new ft(t,!0,r);var o=function(e,t,n){for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;l<s;--s){if(s<=o.first)return o.first;var a=$e(o,s-1),u=a.stateAfter;if(u&&(!n||s+(u instanceof dt?u.lookAhead:0)<=o.modeFrontier))return s;a=P(a.text,null,e.options.tabSize);(null==i||a<r)&&(i=s-1,r=a)}return i}(n,r,e),l=o>t.first&&$e(t,o-1).stateAfter,s=l?ft.fromSaved(t,l,o):new ft(t,Ye(t.mode),o);return t.iter(o,r,function(e){vt(n,e.text,s);var t=s.line;e.stateAfter=t==r-1||t%5==0||t>=i.viewFrom&&t<i.viewTo?s.save():null,s.nextLine()}),e&&(t.modeFrontier=s.line),s}function vt(e,t,n,r){var i=e.doc.mode,o=new _e(t,e.options.tabSize,n);for(o.start=o.pos=r||0,\"\"==t&&yt(i,n.state);!o.eol();)bt(i,o,n.state),o.start=o.pos}function yt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){t=Xe(e,t);return t.mode.blankLine?t.mode.blankLine(t.state):void 0}}function bt(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=Xe(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}ft.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ft.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},ft.prototype.nextLine=function(){this.line++,0<this.maxLookAhead&&this.maxLookAhead--},ft.fromSaved=function(e,t,n){return t instanceof dt?new ft(e,je(e.mode,t.state),n,t.lookAhead):new ft(e,je(e.mode,t),n)},ft.prototype.save=function(e){e=!1!==e?je(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new dt(e,this.maxLookAhead):e};var wt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function xt(e,t,n,r){var i,o,l=e.doc,s=l.mode,a=$e(l,(t=ct(l,t)).line),u=mt(e,t.line,n),c=new _e(a.text,e.options.tabSize,u);for(r&&(o=[]);(r||c.pos<t.ch)&&!c.eol();)c.start=c.pos,i=bt(s,c,u.state),r&&o.push(new wt(c,i,je(l.mode,u.state)));return r?o:new wt(c,i,u.state)}function Ct(e,t){if(e)for(;;){var n=e.match(/(?:^|\\s+)line-(background-)?(\\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?\"bgClass\":\"textClass\";null==t[r]?t[r]=n[2]:new RegExp(\"(?:^|\\\\s)\"+n[2]+\"(?:$|\\\\s)\").test(t[r])||(t[r]+=\" \"+n[2])}return e}function St(e,t,n,r,i,o,l){var s=n.flattenSpans;null==s&&(s=e.options.flattenSpans);var a=0,u=null,c=new _e(t,e.options.tabSize,r),h=e.options.addModeClass&&[null];for(\"\"==t&&Ct(yt(n,r.state),o);!c.eol();){var d,f=c.pos>e.options.maxHighlightLength?(s=!1,l&&vt(e,t,r,c.pos),c.pos=t.length,null):Ct(bt(n,c,r.state,h),o);if(!h||(d=h[0].name)&&(f=\"m-\"+(f?d+\" \"+f:d)),!s||u!=f){for(;a<c.start;)i(a=Math.min(c.start,a+5e3),u);u=f}c.start=c.pos}for(;a<c.pos;){var p=Math.min(c.pos,a+5e3);i(p,u),a=p}}var Lt=!1,kt=!1;function Tt(e,t,n){this.marker=e,this.from=t,this.to=n}function Mt(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function Nt(e,t){if(t.full)return null;var n=tt(e,t.from.line)&&$e(e,t.from.line).markedSpans,r=tt(e,t.to.line)&&$e(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,e=0==it(t.from,t.to),l=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o,l=e[i],s=l.marker;!(null==l.from||(s.inclusiveLeft?l.from<=t:l.from<t))&&(l.from!=t||\"bookmark\"!=s.type||n&&l.marker.insertLeft)||(o=null==l.to||(s.inclusiveRight?l.to>=t:l.to>t),(r=r||[]).push(new Tt(s,l.from,o?null:l.to)))}return r}(n,i,e),s=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o,l=e[i],s=l.marker;!(null==l.to||(s.inclusiveRight?l.to>=t:l.to>t))&&(l.from!=t||\"bookmark\"!=s.type||n&&!l.marker.insertLeft)||(o=null==l.from||(s.inclusiveLeft?l.from<=t:l.from<t),(r=r||[]).push(new Tt(s,o?null:l.from-t,null==l.to?null:l.to-t)))}return r}(r,o,e),a=1==t.text.length,u=Y(t.text).length+(a?i:0);if(l)for(var c=0;c<l.length;++c){var h,d=l[c];null==d.to&&((h=Mt(s,d.marker))?a&&(d.to=null==h.to?null:h.to+u):d.to=i)}if(s)for(var f=0;f<s.length;++f){var p=s[f];null!=p.to&&(p.to+=u),null==p.from?Mt(l,p.marker)||(p.from=u,a&&(l=l||[]).push(p)):(p.from+=u,a&&(l=l||[]).push(p))}l=l&&At(l),s&&s!=l&&(s=At(s));var g=[l];if(!a){var m,v=t.text.length-2;if(0<v&&l)for(var y=0;y<l.length;++y)null==l[y].to&&(m=m||[]).push(new Tt(l[y].marker,null,null));for(var b=0;b<v;++b)g.push(m);g.push(s)}return g}function At(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Ot(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Dt(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Wt(e){return e.inclusiveLeft?-1:0}function Ht(e){return e.inclusiveRight?1:0}function Ft(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var r=e.find(),i=t.find(),n=it(r.from,i.from)||Wt(e)-Wt(t);if(n)return-n;i=it(r.to,i.to)||Ht(e)-Ht(t);return i||t.id-e.id}function Et(e,t){var n,r=kt&&e.markedSpans;if(r)for(var i,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||Ft(n,i.marker)<0)&&(n=i.marker);return n}function Pt(e){return Et(e,!0)}function It(e){return Et(e,!1)}function Rt(e,t,n,r,i){var t=$e(e,t),o=kt&&t.markedSpans;if(o)for(var l=0;l<o.length;++l){var s=o[l];if(s.marker.collapsed){var a=s.marker.find(0),u=it(a.from,n)||Wt(s.marker)-Wt(i),c=it(a.to,r)||Ht(s.marker)-Ht(i);if(!(0<=u&&c<=0||u<=0&&0<=c)&&(u<=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?0<=it(a.to,n):0<it(a.to,n))||0<=u&&(s.marker.inclusiveRight&&i.inclusiveLeft?it(a.from,r)<=0:it(a.from,r)<0)))return 1}}}function zt(e){for(var t;t=Pt(e);)e=t.find(-1,!0).line;return e}function Bt(e,t){var n=$e(e,t),e=zt(n);return n==e?t:Je(e)}function Gt(e,t){if(t>e.lastLine())return t;var n,r=$e(e,t);if(!Ut(e,r))return t;for(;n=It(r);)r=n.find(1,!0).line;return Je(r)+1}function Ut(e,t){var n=kt&&t.markedSpans;if(n)for(var r,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&function e(t,n,r){if(null==r.to){var i=r.marker.find(1,!0);return e(t,i.line,Mt(i.line.markedSpans,r.marker))}if(r.marker.inclusiveRight&&r.to==n.text.length)return!0;for(var o=void 0,l=0;l<n.markedSpans.length;++l)if((o=n.markedSpans[l]).marker.collapsed&&!o.marker.widgetNode&&o.from==r.to&&(null==o.to||o.to!=r.from)&&(o.marker.inclusiveLeft||r.marker.inclusiveRight)&&e(t,n,o))return!0}(e,t,r))return!0}}function Vt(e){for(var t=0,n=(e=zt(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;o=(n=o).parent)for(var l=0;l<o.children.length;++l){var s=o.children[l];if(s==n)break;t+=s.height}return t}function Kt(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=Pt(r);){var i=t.find(0,!0),r=i.from.line;n+=i.from.ch-i.to.ch}for(r=e;t=It(r);){var o=t.find(0,!0);n-=r.text.length-o.from.ch,n+=(r=o.to.line).text.length-o.to.ch}return n}function jt(e){var n=e.display,e=e.doc;n.maxLine=$e(e,e.first),n.maxLineLength=Kt(n.maxLine),n.maxLineChanged=!0,e.iter(function(e){var t=Kt(e);t>n.maxLineLength&&(n.maxLineLength=t,n.maxLine=e)})}var Xt=function(e,t,n){this.text=e,Dt(this,t),this.height=n?n(this):1};Xt.prototype.lineNo=function(){return Je(this)},ke(Xt);var Yt={},_t={};function $t(e,t){if(!e||/^\\s*$/.test(e))return null;t=t.addModeClass?_t:Yt;return t[e]||(t[e]=e.replace(/\\S+/g,\"cm-$&\"))}function qt(e,t){var n=N(\"span\",null,null,f?\"padding-right: .1px\":null),r={pre:N(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,l=void 0;r.pos=0,r.addToken=Qt,function(e){if(null!=He)return He;var t=T(e,document.createTextNode(\"AخA\")),n=S(t,0,1).getBoundingClientRect(),t=S(t,1,2).getBoundingClientRect();return k(e),n&&n.left!=n.right&&(He=t.right-n.right<3)}(e.display.measure)&&(l=me(o,e.doc.direction))&&(r.addToken=function(h,d){return function(e,t,n,r,i,o,l){n=n?n+\" cm-force-border\":\"cm-force-border\";for(var s=e.pos,a=s+t.length;;){for(var u=void 0,c=0;c<d.length&&!((u=d[c]).to>s&&u.from<=s);c++);if(u.to>=a)return h(e,t,n,r,i,o,l);h(e,t.slice(0,u.to-s),n,r,null,o,l),r=null,t=t.slice(u.to-s),s=u.to}}}(r.addToken,l)),r.map=[],function(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(!r){for(var l=1;l<n.length;l+=2)t.addToken(t,i.slice(o,o=n[l]),$t(n[l+1],t.cm.options));return}for(var s,a,u,c,h,d,f,p=i.length,g=0,m=1,v=\"\",y=0;;){if(y==g){u=c=h=a=\"\",d=f=null,y=1/0;for(var b=[],w=void 0,x=0;x<r.length;++x){var C=r[x],S=C.marker;if(\"bookmark\"==S.type&&C.from==g&&S.widgetNode)b.push(S);else if(C.from<=g&&(null==C.to||C.to>g||S.collapsed&&C.to==g&&C.from==g)){if(null!=C.to&&C.to!=g&&y>C.to&&(y=C.to,c=\"\"),S.className&&(u+=\" \"+S.className),S.css&&(a=(a?a+\";\":\"\")+S.css),S.startStyle&&C.from==g&&(h+=\" \"+S.startStyle),S.endStyle&&C.to==y&&(w=w||[]).push(S.endStyle,C.to),S.title&&((f=f||{}).title=S.title),S.attributes)for(var L in S.attributes)(f=f||{})[L]=S.attributes[L];S.collapsed&&(!d||Ft(d.marker,S)<0)&&(d=C)}else C.from>g&&y>C.from&&(y=C.from)}if(w)for(var k=0;k<w.length;k+=2)w[k+1]==y&&(c+=\" \"+w[k]);if(!d||d.from==g)for(var T=0;T<b.length;++T)Jt(t,0,b[T]);if(d&&(d.from||0)==g){if(Jt(t,(null==d.to?p+1:d.to)-g,d.marker,null==d.from),null==d.to)return;d.to==g&&(d=!1)}}if(p<=g)break;for(var M=Math.min(p,y);;){if(v){var N,A=g+v.length;if(d||(N=M<A?v.slice(0,M-g):v,t.addToken(t,N,s?s+u:u,h,g+N.length==y?c:\"\",a,f)),M<=A){v=v.slice(M-g),g=M;break}g=A,h=\"\"}v=i.slice(o,o=n[m++]),s=$t(n[m++],t.cm.options)}}}(o,r,gt(e,o,t!=e.display.externalMeasured&&Je(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=W(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=W(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(function(e){null==We&&(t=M(\"span\",\"\"),T(e,M(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(We=t.offsetWidth<=1&&2<t.offsetHeight&&!(w&&v<8)));var t=We?M(\"span\",\"\"):M(\"span\",\" \",null,\"display: inline-block; width: 1px; margin-right: -1px\");return t.setAttribute(\"cm-text\",\"\"),t}(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}return f&&(n=r.content.lastChild,(/\\bcm-tab\\b/.test(n.className)||n.querySelector&&n.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")),xe(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=W(r.pre.className,r.textClass||\"\")),r}function Zt(e){var t=M(\"span\",\"•\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function Qt(e,t,n,r,i,o,l){if(t){var s,a=e.splitSpaces?function(e,t){if(1<e.length&&!/ /.test(e))return e;for(var n=t,r=\"\",i=0;i<e.length;i++){var o=e.charAt(i);\" \"!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=\" \"),r+=o,n=\" \"==o}return r}(t,e.trailingSpace):t,u=e.cm.state.specialChars,c=!1;if(u.test(t)){s=document.createDocumentFragment();for(var h=0;;){u.lastIndex=h;var d=u.exec(t),f=d?d.index-h:t.length-h;if(f&&(p=document.createTextNode(a.slice(h,h+f)),w&&v<9?s.appendChild(M(\"span\",[p])):s.appendChild(p),e.map.push(e.pos,e.pos+f,p),e.col+=f,e.pos+=f),!d)break;h+=1+f;var p=void 0;\"\\t\"==d[0]?(f=(f=e.cm.options.tabSize)-e.col%f,(p=s.appendChild(M(\"span\",X(f),\"cm-tab\"))).setAttribute(\"role\",\"presentation\"),p.setAttribute(\"cm-text\",\"\\t\"),e.col+=f):(\"\\r\"==d[0]||\"\\n\"==d[0]?(p=s.appendChild(M(\"span\",\"\\r\"==d[0]?\"␍\":\"\",\"cm-invalidchar\"))).setAttribute(\"cm-text\",d[0]):((p=e.cm.options.specialCharPlaceholder(d[0])).setAttribute(\"cm-text\",d[0]),w&&v<9?s.appendChild(M(\"span\",[p])):s.appendChild(p)),e.col+=1),e.map.push(e.pos,e.pos+1,p),e.pos++}}else e.col+=t.length,s=document.createTextNode(a),e.map.push(e.pos,e.pos+t.length,s),w&&v<9&&(c=!0),e.pos+=t.length;if(e.trailingSpace=32==a.charCodeAt(t.length-1),n||r||i||c||o||l){n=n||\"\";r&&(n+=r),i&&(n+=i);var g=M(\"span\",[s],n,o);if(l)for(var m in l)l.hasOwnProperty(m)&&\"style\"!=m&&\"class\"!=m&&g.setAttribute(m,l[m]);return e.content.appendChild(g)}e.content.appendChild(s)}}function Jt(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i=i||e.content.appendChild(document.createElement(\"span\"))).setAttribute(\"cm-marker\",n.id),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function en(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=It(e);)e=t.find(1,!0).line,(n=n||[]).push(e);return n}(t),this.size=this.rest?Je(Y(this.rest))-n+1:1,this.node=this.text=null,this.hidden=Ut(e,t)}function tn(e,t,n){for(var r=[],i=t;i<n;i=l){var o=new en(e.doc,$e(e.doc,i),i),l=i+o.size;r.push(o)}return r}var nn=null;function rn(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}(n)}finally{nn=null,t(n)}}var on=null;function ln(e,t){var n=be(e,t);if(n.length){var r,i=Array.prototype.slice.call(arguments,2);nn?r=nn.delayedCallbacks:on?r=on:(r=on=[],setTimeout(sn,0));for(var o=0;o<n.length;++o)!function(e){r.push(function(){return n[e].apply(null,i)})}(o)}}function sn(){var e=on;on=null;for(var t=0;t<e.length;++t)e[t]()}function an(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];\"text\"==o?function(e,t){var n=t.text.className,r=cn(e,t);t.text==t.node&&(t.node=r.pre);t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,hn(e,t)):n&&(t.text.className=n)}(e,t):\"gutter\"==o?dn(e,t,n,r):\"class\"==o?hn(e,t):\"widget\"==o&&function(e,t,n){t.alignable&&(t.alignable=null);for(var r=C(\"CodeMirror-linewidget\"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,r.test(i.className)&&t.node.removeChild(i);fn(e,t,n)}(e,t,r)}t.changes=null}function un(e){return e.node==e.text&&(e.node=M(\"div\",null,null,\"position: relative\"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),w&&v<8&&(e.node.style.zIndex=2)),e.node}function cn(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):qt(e,t)}function hn(e,t){var n,r;n=e,(r=(i=t).bgClass?i.bgClass+\" \"+(i.line.bgClass||\"\"):i.line.bgClass)&&(r+=\" CodeMirror-linebackground\"),i.background?r?i.background.className=r:(i.background.parentNode.removeChild(i.background),i.background=null):r&&(e=un(i),i.background=e.insertBefore(M(\"div\",null,r),e.firstChild),n.display.input.setUneditable(i.background)),t.line.wrapClass?un(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className=\"\");var i=t.textClass?t.textClass+\" \"+(t.line.textClass||\"\"):t.line.textClass;t.text.className=i||\"\"}function dn(e,t,n,r){t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass&&(o=un(t),t.gutterBackground=M(\"div\",null,\"CodeMirror-gutter-background \"+t.line.gutterClass,\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px; width: \"+r.gutterTotalWidth+\"px\"),e.display.input.setUneditable(t.gutterBackground),o.insertBefore(t.gutterBackground,t.text));var i=t.line.gutterMarkers;if(e.options.lineNumbers||i){var o=un(t),l=t.gutter=M(\"div\",null,\"CodeMirror-gutter-wrapper\",\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px\");if(e.display.input.setUneditable(l),o.insertBefore(l,t.text),t.line.gutterClass&&(l.className+=\" \"+t.line.gutterClass),!e.options.lineNumbers||i&&i[\"CodeMirror-linenumbers\"]||(t.lineNumber=l.appendChild(M(\"div\",nt(e.options,n),\"CodeMirror-linenumber CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[\"CodeMirror-linenumbers\"]+\"px; width: \"+e.display.lineNumInnerWidth+\"px\"))),i)for(var s=0;s<e.display.gutterSpecs.length;++s){var a=e.display.gutterSpecs[s].className,u=i.hasOwnProperty(a)&&i[a];u&&l.appendChild(M(\"div\",[u],\"CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[a]+\"px; width: \"+r.gutterWidth[a]+\"px\"))}}}function fn(e,t,n){if(pn(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)pn(e,t.rest[r],t,n,!1)}function pn(e,t,n,r,i){if(t.widgets)for(var o=un(n),l=0,s=t.widgets;l<s.length;++l){var a=s[l],u=M(\"div\",[a.node],\"CodeMirror-linewidget\"+(a.className?\" \"+a.className:\"\"));a.handleMouseEvents||u.setAttribute(\"cm-ignore-events\",\"true\"),function(e,t,n,r){e.noHScroll&&((n.alignable||(n.alignable=[])).push(t),n=r.wrapperWidth,t.style.left=r.fixedPos+\"px\",e.coverGutter||(n-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+\"px\"),t.style.width=n+\"px\");e.coverGutter&&(t.style.zIndex=5,t.style.position=\"relative\",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+\"px\"))}(a,u,n,r),e.display.input.setUneditable(u),i&&a.above?o.insertBefore(u,n.gutter||n.text):o.appendChild(u),ln(a,\"redraw\")}}function gn(e){if(null!=e.height)return e.height;var t,n=e.doc.cm;return n?(A(document.body,e.node)||(t=\"position: relative;\",e.coverGutter&&(t+=\"margin-left: -\"+n.display.gutters.offsetWidth+\"px;\"),e.noHScroll&&(t+=\"width: \"+n.display.wrapper.clientWidth+\"px;\"),T(n.display.measure,M(\"div\",[e.node],null,t))),e.height=e.node.parentNode.offsetHeight):0}function mn(e,t){for(var n=Oe(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&\"true\"==n.getAttribute(\"cm-ignore-events\")||n.parentNode==e.sizer&&n!=e.mover)return 1}function vn(e){return e.lineSpace.offsetTop}function yn(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function bn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=T(e.measure,M(\"pre\",\"x\",\"CodeMirror-line-like\")),t=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,t={left:parseInt(t.paddingLeft),right:parseInt(t.paddingRight)};return isNaN(t.left)||isNaN(t.right)||(e.cachedPaddingH=t),t}function wn(e){return z-e.display.nativeBarWidth}function xn(e){return e.display.scroller.clientWidth-wn(e)-e.display.barWidth}function Cn(e){return e.display.scroller.clientHeight-wn(e)-e.display.barHeight}function Sn(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(Je(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Ln(e,t,n,r){return Mn(e,Tn(e,t),n,r)}function kn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[er(e,t)];e=e.display.externalMeasured;return e&&t>=e.lineN&&t<e.lineN+e.size?e:void 0}function Tn(e,t){var n,r,i=Je(t),o=kn(e,i);o&&!o.text?o=null:o&&o.changes&&(an(e,o,i,$n(e)),e.curOp.forceUpdate=!0),o||(n=e,e=Je(r=zt(r=t)),(r=n.display.externalMeasured=new en(n.doc,r,e)).lineN=e,e=r.built=qt(n,r),r.text=e.pre,T(n.display.lineMeasure,e.pre),o=r);i=Sn(o,t,i);return{line:t,view:o,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Mn(e,t,n,r,i){t.before&&(n=-1);var o,l=n+(r||\"\");return t.cache.hasOwnProperty(l)?o=t.cache[l]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var r=e.options.lineWrapping,e=r&&xn(e);if(!t.measure.heights||r&&t.measure.width!=e){var i=t.measure.heights=[];if(r){t.measure.width=e;for(var o=t.text.firstChild.getClientRects(),l=0;l<o.length-1;l++){var s=o[l],a=o[l+1];2<Math.abs(s.bottom-a.bottom)&&i.push((s.bottom+a.top)/2-n.top)}}i.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=On(t.map,n,r),l=o.node,s=o.start,a=o.end,u=o.collapse;if(3==l.nodeType){for(var c=0;c<4;c++){for(;s&&ne(t.line.text.charAt(o.coverStart+s));)--s;for(;o.coverStart+a<o.coverEnd&&ne(t.line.text.charAt(o.coverStart+a));)++a;if((i=w&&v<9&&0==s&&a==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():function(e,t){var n=An;if(\"left\"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;0<=i&&(n=e[i]).left==n.right;i--);return n}(S(l,s,a).getClientRects(),r)).left||i.right||0==s)break;a=s,--s,u=\"right\"}w&&v<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=Re)return Re;var e=(t=T(e,M(\"span\",\"x\"))).getBoundingClientRect(),t=S(t,0,1).getBoundingClientRect();return Re=1<Math.abs(e.left-t.left)}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,e=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*e,bottom:t.bottom*e}}(e.display.measure,i))}else 0<s&&(u=r=\"right\"),i=e.options.lineWrapping&&1<(g=l.getClientRects()).length?g[\"right\"==r?g.length-1:0]:l.getBoundingClientRect();!(w&&v<9)||s||i&&(i.left||i.right)||(m=l.parentNode.getClientRects()[0],i=m?{left:m.left,right:m.left+_n(e.display),top:m.top,bottom:m.bottom}:An);for(var h=i.top-t.rect.top,n=i.bottom-t.rect.top,d=(h+n)/2,f=t.view.measure.heights,p=0;p<f.length-1&&!(d<f[p]);p++);var g=p?f[p-1]:0,m=f[p],m={left:(\"right\"==u?i.right:i.left)-t.rect.left,right:(\"left\"==u?i.left:i.right)-t.rect.left,top:g,bottom:m};i.left||i.right||(m.bogus=!0);e.options.singleCursorHeightPerLine||(m.rtop=h,m.rbottom=n);return m}(e,t,n,r)).bogus||(t.cache[l]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var Nn,An={left:0,right:0,top:0,bottom:0};function On(e,t,n){for(var r,i,o,l,s,a,u=0;u<e.length;u+=3)if(s=e[u],a=e[u+1],t<s?(i=0,o=1,l=\"left\"):t<a?o=(i=t-s)+1:(u==e.length-3||t==a&&e[u+3]>t)&&(i=(o=a-s)-1,a<=t&&(l=\"right\")),null!=i){if(r=e[u+2],s==a&&n==(r.insertLeft?\"left\":\"right\")&&(l=n),\"left\"==n&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[2+(u-=3)],l=\"left\";if(\"right\"==n&&i==a-s)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)r=e[(u+=3)+2],l=\"right\";break}return{node:r,start:i,end:o,collapse:l,coverStart:s,coverEnd:a}}function Dn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Wn(e){e.display.externalMeasure=null,k(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Dn(e.display.view[t])}function Hn(e){Wn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Fn(){return o&&a?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function En(){return o&&a?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Pn(e){var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;++n)e.widgets[n].above&&(t+=gn(e.widgets[n]));return t}function In(e,t,n,r,i){if(i||(i=Pn(t),n.top+=i,n.bottom+=i),\"line\"==r)return n;r=r||\"local\";t=Vt(t);return\"local\"==r?t+=vn(e.display):t-=e.display.viewOffset,\"page\"!=r&&\"window\"!=r||(t+=(e=e.display.lineSpace.getBoundingClientRect()).top+(\"window\"==r?0:En()),r=e.left+(\"window\"==r?0:Fn()),n.left+=r,n.right+=r),n.top+=t,n.bottom+=t,n}function Rn(e,t,n){if(\"div\"==n)return t;var r=t.left,t=t.top;\"page\"==n?(r-=Fn(),t-=En()):\"local\"!=n&&n||(r+=(n=e.display.sizer.getBoundingClientRect()).left,t+=n.top);e=e.display.lineSpace.getBoundingClientRect();return{left:r-e.left,top:t-e.top}}function zn(e,t,n,r,i){return In(e,r=r||$e(e.doc,t.line),Ln(e,r,t.ch,i),n)}function Bn(n,e,r,i,o,l){function s(e,t){e=Mn(n,o,e,t?\"right\":\"left\",l);return t?e.left=e.right:e.right=e.left,In(n,i,e,r)}i=i||$e(n.doc,e.line),o=o||Tn(n,i);var a=me(i,n.doc.direction),t=e.ch,u=e.sticky;if(t>=i.text.length?(t=i.text.length,u=\"before\"):t<=0&&(t=0,u=\"after\"),!a)return s(\"before\"==u?t-1:t,\"before\"==u);function c(e,t,n){return s(n?e-1:e,1==a[t].level!=n)}var h=le(a,t,u),e=oe,h=c(t,h,\"before\"==u);return null!=e&&(h.other=c(t,e,\"before\"!=u)),h}function Gn(e,t){var n=0;t=ct(e.doc,t),e.options.lineWrapping||(n=_n(e.display)*t.ch);t=$e(e.doc,t.line),e=Vt(t)+vn(e.display);return{left:n,right:n,top:e,bottom:e+t.height}}function Un(e,t,n,r,i){n=rt(e,t,n);return n.xRel=i,r&&(n.outside=r),n}function Vn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Un(r.first,0,null,-1,-1);var i=et(r,n),o=r.first+r.size-1;if(o<i)return Un(r.first+r.size-1,$e(r,o).text.length,null,1,1);t<0&&(t=0);for(var l=$e(r,i);;){var s=function(n,e,t,r,i){i-=Vt(e);var o=Tn(n,e),l=Pn(e),s=0,a=e.text.length,u=!0,c=me(e,n.doc.direction);c&&(f=(n.options.lineWrapping?function(e,t,n,r,i,o,l){var l=Kn(e,t,r,l),s=l.begin,a=l.end;/\\s/.test(t.text.charAt(a-1))&&a--;for(var u=null,c=null,h=0;h<i.length;h++){var d,f=i[h];f.from>=a||f.to<=s||(d=1!=f.level,d=Mn(e,r,d?Math.min(a,f.to)-1:Math.max(s,f.from)).right,d=d<o?o-d+1e9:d-o,(!u||d<c)&&(u=f,c=d))}u=u||i[i.length-1];u.from<s&&(u={from:s,to:u.to,level:u.level});u.to>a&&(u={from:u.from,to:a,level:u.level});return u}:function(n,r,i,o,l,s,a){var e=ie(function(e){var t=l[e],e=1!=t.level;return Xn(Bn(n,rt(i,e?t.to:t.from,e?\"before\":\"after\"),\"line\",r,o),s,a,!0)},0,l.length-1),t=l[e];{var u;0<e&&(u=1!=t.level,Xn(u=Bn(n,rt(i,u?t.from:t.to,u?\"after\":\"before\"),\"line\",r,o),s,a,!0)&&u.top>a&&(t=l[e-1]))}return t})(n,e,t,o,c,r,i),u=1!=f.level,s=u?f.from:f.to-1,a=u?f.to:f.from-1);var h=null,d=null,c=ie(function(e){var t=Mn(n,o,e);return t.top+=l,t.bottom+=l,Xn(t,r,i,!1)&&(t.top<=i&&t.left<=r&&(h=e,d=t),1)},s,a),f=!1;{var p,g;d?(p=r-d.left<d.right-r,c=h+((g=p==u)?0:1),g=g?\"after\":\"before\",p=p?d.left:d.right):(u||c!=a&&c!=s||c++,g=0==c||c!=e.text.length&&Mn(n,o,c-(u?1:0)).bottom+l<=i==u?\"after\":\"before\",u=Bn(n,rt(t,c,g),\"line\",e,o),p=u.left,f=i<u.top?-1:i>=u.bottom?1:0)}return c=re(e.text,c,1),Un(t,c,g,f,r-p)}(e,l,i,t,n),a=function(e,t){var n,r=kt&&e.markedSpans;if(r)for(var i=0;i<r.length;++i){var o=r[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||Ft(n,o.marker)<0)&&(n=o.marker)}return n}(l,s.ch+(0<s.xRel||0<s.outside?1:0));if(!a)return s;a=a.find(1);if(a.line==i)return a;l=$e(r,i=a.line)}}function Kn(t,e,n,r){r-=Pn(e);var i=e.text.length,e=ie(function(e){return Mn(t,n,e-1).bottom<=r},i,0);return{begin:e,end:i=ie(function(e){return Mn(t,n,e).top>r},e,i)}}function jn(e,t,n,r){return Kn(e,t,n=n||Tn(e,t),In(e,t,Mn(e,n,r),\"line\").top)}function Xn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function Yn(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Nn){Nn=M(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)Nn.appendChild(document.createTextNode(\"x\")),Nn.appendChild(M(\"br\"));Nn.appendChild(document.createTextNode(\"x\"))}T(e.measure,Nn);var n=Nn.offsetHeight/50;return 3<n&&(e.cachedTextHeight=n),k(e.measure),n||1}function _n(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=M(\"span\",\"xxxxxxxxxx\"),n=M(\"pre\",[t],\"CodeMirror-line-like\");T(e.measure,n);t=t.getBoundingClientRect(),t=(t.right-t.left)/10;return 2<t&&(e.cachedCharWidth=t),t||10}function $n(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var s=e.display.gutterSpecs[l].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:qn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function qn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Zn(r){var i=Yn(r.display),o=r.options.lineWrapping,l=o&&Math.max(5,r.display.scroller.clientWidth/_n(r.display)-3);return function(e){if(Ut(r.doc,e))return 0;var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;n++)e.widgets[n].height&&(t+=e.widgets[n].height);return o?t+(Math.ceil(e.text.length/l)||1)*i:t+i}}function Qn(e){var t=e.doc,n=Zn(e);t.iter(function(e){var t=n(e);t!=e.height&&Qe(e,t)})}function Jn(e,t,n,r){var i=e.display;if(!n&&\"true\"==Oe(t).getAttribute(\"cm-not-content\"))return null;var o,l,s=i.lineSpace.getBoundingClientRect();try{o=t.clientX-s.left,l=t.clientY-s.top}catch(e){return null}var a,i=Vn(e,o,l);return r&&0<i.xRel&&(a=$e(e.doc,i.line).text).length==i.ch&&(a=P(a,a.length,e.options.tabSize)-a.length,i=rt(i.line,Math.max(0,Math.round((o-bn(e.display).left)/_n(e.display))-a))),i}function er(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function tr(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r=r||0;var i,o,l=e.display;r&&n<l.viewTo&&(null==l.updateLineNumbers||l.updateLineNumbers>t)&&(l.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=l.viewTo?kt&&Bt(e.doc,t)<l.viewTo&&rr(e):n<=l.viewFrom?kt&&Gt(e.doc,n+r)>l.viewFrom?rr(e):(l.viewFrom+=r,l.viewTo+=r):t<=l.viewFrom&&n>=l.viewTo?rr(e):t<=l.viewFrom?(i=ir(e,n,n+r,1))?(l.view=l.view.slice(i.index),l.viewFrom=i.lineN,l.viewTo+=r):rr(e):n>=l.viewTo?(o=ir(e,t,t,-1))?(l.view=l.view.slice(0,o.index),l.viewTo=o.lineN):rr(e):(i=ir(e,t,t,-1),o=ir(e,n,n+r,1),i&&o?(l.view=l.view.slice(0,i.index).concat(tn(e,i.lineN,o.lineN)).concat(l.view.slice(o.index)),l.viewTo+=r):rr(e));e=l.externalMeasured;e&&(n<e.lineN?e.lineN+=r:t<e.lineN+e.size&&(l.externalMeasured=null))}function nr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),t<r.viewFrom||t>=r.viewTo||(null==(t=r.view[er(e,t)]).node||-1==R(t=t.changes||(t.changes=[]),n)&&t.push(n))}function rr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function ir(e,t,n,r){var i,o=er(e,t),l=e.display.view;if(!kt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,a=0;a<o;a++)s+=l[a].size;if(s!=t){if(0<r){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Bt(e.doc,n)!=n;){if(o==(r<0?0:l.length-1))return null;n+=r*l[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function or(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function lr(e){e.display.input.showSelection(e.display.input.prepareSelection())}function sr(e,t){void 0===t&&(t=!0);for(var n,r,i=e.doc,o={},l=o.cursors=document.createDocumentFragment(),s=o.selection=document.createDocumentFragment(),a=0;a<i.sel.ranges.length;a++)!t&&a==i.sel.primIndex||((n=i.sel.ranges[a]).from().line>=e.display.viewTo||n.to().line<e.display.viewFrom||(((r=n.empty())||e.options.showCursorWhenSelecting)&&ar(e,n.head,l),r||function(i,e,t){var n=i.display,o=i.doc,l=document.createDocumentFragment(),r=bn(i.display),S=r.left,L=Math.max(n.sizerWidth,xn(i)-n.sizer.offsetLeft)-r.right,k=\"ltr\"==o.direction;function T(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),l.appendChild(M(\"div\",null,\"CodeMirror-selected\",\"position: absolute; left: \"+e+\"px;\\n top: \"+t+\"px; width: \"+(null==n?L-e:n)+\"px;\\n height: \"+(r-t)+\"px\"))}function s(n,g,m){var v,y,r=$e(o,n),b=r.text.length;function w(e,t){return zn(i,rt(n,e),\"div\",r,t)}function x(e,t,n){e=jn(i,r,null,e),t=\"ltr\"==t==(\"after\"==n)?\"left\":\"right\";return w(\"after\"==n?e.begin:e.end-(/\\s/.test(r.text.charAt(e.end-1))?2:1),t)[t]}var C=me(r,o.direction);return function(e,t,n,r){if(!e)return r(t,n,\"ltr\",0);for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),1==l.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(C,g||0,null==m?b:m,function(e,t,n,r){var i,o,l,s,a=\"ltr\"==n,u=w(e,a?\"left\":\"right\"),c=w(t-1,a?\"right\":\"left\"),h=null==g&&0==e,d=null==m&&t==b,f=0==r,p=!C||r==C.length-1;c.top-u.top<=3?(i=(k?d:h)&&p,r=(k?h:d)&&f?S:(a?u:c).left,i=i?L:(a?c:u).right,T(r,u.top,i-r,u.bottom)):(n=a?(o=k&&h&&f?S:u.left,l=k?L:x(e,n,\"before\"),s=k?S:x(t,n,\"after\"),k&&d&&p?L:c.right):(o=k?x(e,n,\"before\"):S,l=!k&&h&&f?L:u.right,s=!k&&d&&p?S:c.left,k?x(t,n,\"after\"):L),T(o,u.top,l-o,u.bottom),u.bottom<c.top&&T(S,u.bottom,null,c.top),T(s,c.top,n-s,c.bottom)),(!v||ur(u,v)<0)&&(v=u),ur(c,v)<0&&(v=c),(!y||ur(u,y)<0)&&(y=u),ur(c,y)<0&&(y=c)}),{start:v,end:y}}var a=e.from(),n=e.to();a.line==n.line?s(a.line,a.ch,n.ch):(r=$e(o,a.line),e=$e(o,n.line),e=zt(r)==zt(e),r=s(a.line,a.ch,e?r.text.length+1:null).end,n=s(n.line,e?0:null,n.ch).start,e&&(r.top<n.top-2?(T(r.right,r.top,null,r.bottom),T(S,n.top,n.left,n.bottom)):T(r.right,r.top,n.left-r.right,r.bottom)),r.bottom<n.top&&T(S,r.bottom,null,n.top));t.appendChild(l)}(e,n,s)));return o}function ar(e,t,n){var r=Bn(e,t,\"div\",null,null,!e.options.singleCursorHeightPerLine),t=n.appendChild(M(\"div\",\" \",\"CodeMirror-cursor\"));t.style.left=r.left+\"px\",t.style.top=r.top+\"px\",t.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+\"px\",r.other&&((n=n.appendChild(M(\"div\",\" \",\"CodeMirror-cursor CodeMirror-secondarycursor\"))).style.display=\"\",n.style.left=r.other.left+\"px\",n.style.top=r.other.top+\"px\",n.style.height=.85*(r.other.bottom-r.other.top)+\"px\")}function ur(e,t){return e.top-t.top||e.left-t.left}function cr(e){var t,n;e.state.focused&&(t=e.display,clearInterval(t.blinker),n=!0,t.cursorDiv.style.visibility=\"\",0<e.options.cursorBlinkRate?t.blinker=setInterval(function(){e.hasFocus()||pr(e),t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\"))}function hr(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||fr(e))}function dr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&pr(e))},100)}function fr(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(xe(e,\"focus\",e,t),e.state.focused=!0,D(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),f&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),cr(e))}function pr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(xe(e,\"blur\",e,t),e.state.focused=!1,L(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function gr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r<t.view.length;r++){var i,o=t.view[r],l=e.options.lineWrapping,s=void 0,a=0;if(!o.hidden){w&&v<8?(s=(i=o.node.offsetTop+o.node.offsetHeight)-n,n=i):(s=(u=o.node.getBoundingClientRect()).bottom-u.top,!l&&o.text.firstChild&&(a=o.text.firstChild.getBoundingClientRect().right-u.left-1));var u=o.line.height-s;if((.005<u||u<-.005)&&(Qe(o.line,s),mr(o.line),o.rest))for(var c=0;c<o.rest.length;c++)mr(o.rest[c]);a>e.display.sizerWidth&&((a=Math.ceil(a/_n(e.display)))>e.display.maxLineLength&&(e.display.maxLineLength=a,e.display.maxLine=o.line,e.display.maxLineChanged=!0))}}}function mr(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function vr(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop,r=Math.floor(r-vn(e)),i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=et(t,r),r=et(t,i);return n&&n.ensure&&(i=n.ensure.from.line,n=n.ensure.to.line,i<o?r=et(t,Vt($e(t,o=i))+e.wrapper.clientHeight):Math.min(n,t.lastLine())>=r&&(o=et(t,Vt($e(t,n))-e.wrapper.clientHeight),r=n)),{from:o,to:Math.max(r,o+1)}}function yr(e,t){var n=e.display,r=Yn(e.display);t.top<0&&(t.top=0);var i=(e.curOp&&null!=e.curOp.scrollTop?e.curOp:n.scroller).scrollTop,o=Cn(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+yn(n),a=t.top<r,r=t.bottom>s-r;t.top<i?l.scrollTop=a?0:t.top:t.bottom>i+o&&((u=Math.min(t.top,(r?s:t.bottom)-o))!=i&&(l.scrollTop=u));var i=e.options.fixedGutter?0:n.gutters.offsetWidth,u=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-i,e=xn(e)-n.gutters.offsetWidth,n=t.right-t.left>e;return n&&(t.right=t.left+e),t.left<10?l.scrollLeft=0:t.left<u?l.scrollLeft=Math.max(0,t.left+i-(n?0:10)):t.right>e+u-3&&(l.scrollLeft=t.right+(n?0:10)-e),l}function br(e,t){null!=t&&(Cr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc:e.curOp).scrollTop+t)}function wr(e){Cr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function xr(e,t,n){null==t&&null==n||Cr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Cr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Sr(e,Gn(e,t.from),Gn(e,t.to),t.margin))}function Sr(e,t,n,r){r=yr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});xr(e,r.scrollLeft,r.scrollTop)}function Lr(e,t){Math.abs(e.doc.scrollTop-t)<2||(d||Kr(e,{top:t}),kr(e,t,!0),d&&Kr(e),zr(e,100))}function kr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),e.display.scroller.scrollTop==t&&!n||(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Tr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,Yr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Mr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+yn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+wn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}e=function(e,t,n){this.cm=n;var r=this.vert=M(\"div\",[M(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=M(\"div\",[M(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),ye(r,\"scroll\",function(){r.clientHeight&&t(r.scrollTop,\"vertical\")}),ye(i,\"scroll\",function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")}),this.checkedZeroWidth=!1,w&&v<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")};e.prototype.update=function(e){var t,n=e.scrollWidth>e.clientWidth+1,r=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;return r?(this.vert.style.display=\"block\",this.vert.style.bottom=n?i+\"px\":\"0\",t=e.viewHeight-(n?i:0),this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+t)+\"px\"):(this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\"),n?(this.horiz.style.display=\"block\",this.horiz.style.right=r?i+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\",t=e.viewWidth-e.barLeft-(r?i:0),this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+t)+\"px\"):(this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\"),!this.checkedZeroWidth&&0<e.clientHeight&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:r?i:0,bottom:n?i:0}},e.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},e.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},e.prototype.zeroWidthHack=function(){var e=g&&!l?\"12px\":\"18px\";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents=\"none\",this.disableHoriz=new I,this.disableVert=new I},e.prototype.enableZeroWidthBar=function(n,r,i){n.style.pointerEvents=\"auto\",r.set(1e3,function e(){var t=n.getBoundingClientRect();(\"vert\"==i?document.elementFromPoint(t.right-1,(t.top+t.bottom)/2):document.elementFromPoint((t.right+t.left)/2,t.bottom-1))!=n?n.style.pointerEvents=\"none\":r.set(1e3,e)})},e.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};r=function(){};function Nr(e,t){t=t||Mr(e);var n=e.display.barWidth,r=e.display.barHeight;Ar(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&gr(e),Ar(e,Mr(e)),n=e.display.barWidth,r=e.display.barHeight}function Ar(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}r.prototype.update=function(){return{bottom:0,right:0}},r.prototype.setScrollLeft=function(){},r.prototype.setScrollTop=function(){},r.prototype.clear=function(){};var Or={native:e,null:r};function Dr(n){n.display.scrollbars&&(n.display.scrollbars.clear(),n.display.scrollbars.addClass&&L(n.display.wrapper,n.display.scrollbars.addClass)),n.display.scrollbars=new Or[n.options.scrollbarStyle](function(e){n.display.wrapper.insertBefore(e,n.display.scrollbarFiller),ye(e,\"mousedown\",function(){n.state.focused&&setTimeout(function(){return n.display.input.focus()},0)}),e.setAttribute(\"cm-not-content\",\"true\")},function(e,t){(\"horizontal\"==t?Tr:Lr)(n,e)},n),n.display.scrollbars.addClass&&D(n.display.wrapper,n.display.scrollbars.addClass)}var Wr=0;function Hr(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wr},e=e.curOp,nn?nn.ops.push(e):e.ownsGroup=nn={ops:[e],delayedCallbacks:[]}}function Fr(e){e=e.curOp;e&&rn(e,function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)!function(e){var t=e.cm,n=t.display;(function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=wn(e)+\"px\",t.sizer.style.marginBottom=-t.nativeBarWidth+\"px\",t.sizer.style.borderRightWidth=wn(e)+\"px\",t.scrollbarsClipped=!0)})(t),e.updateMaxLine&&jt(t);e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new Gr(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}(t[n]);for(var r=0;r<t.length;r++)!function(e){e.updatedDisplay=e.mustUpdate&&Ur(e.cm,e.update)}(t[r]);for(var i=0;i<t.length;i++)!function(e){var t=e.cm,n=t.display;e.updatedDisplay&&gr(t);e.barMeasure=Mr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Ln(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+wn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-xn(t)));(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}(t[i]);for(var o=0;o<t.length;o++)!function(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+\"px\",e.maxScrollLeft<t.doc.scrollLeft&&Tr(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==O();e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n);!e.updatedDisplay&&e.startHeight==t.doc.height||Nr(t,e.barMeasure);e.updatedDisplay&&Xr(t,e.barMeasure);e.selectionChanged&&cr(t);t.state.focused&&e.updateInput&&t.display.input.reset(e.typing);n&&hr(e.cm)}(t[o]);for(var l=0;l<t.length;l++)!function(e){var t=e.cm,n=t.display,r=t.doc;e.updatedDisplay&&Vr(t,e.update);null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null);null!=e.scrollTop&&kr(t,e.scrollTop,e.forceScroll);null!=e.scrollLeft&&Tr(t,e.scrollLeft,!0,!0);{var i;e.scrollToPos&&(i=function(e,t,n,r){null==r&&(r=0),e.options.lineWrapping||t!=n||(n=\"before\"==(t=t.ch?rt(t.line,\"before\"==t.sticky?t.ch-1:t.ch,\"after\"):t).sticky?rt(t.line,t.ch+1,\"before\"):t);for(var i=0;i<5;i++){var o,l=!1,s=Bn(e,t),a=n&&n!=t?Bn(e,n):s,u=yr(e,o={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top)-r,right:Math.max(s.left,a.left),bottom:Math.max(s.bottom,a.bottom)+r}),s=e.doc.scrollTop,a=e.doc.scrollLeft;if(null!=u.scrollTop&&(Lr(e,u.scrollTop),1<Math.abs(e.doc.scrollTop-s)&&(l=!0)),null!=u.scrollLeft&&(Tr(e,u.scrollLeft),1<Math.abs(e.doc.scrollLeft-a)&&(l=!0)),!l)break}return o}(t,ct(r,e.scrollToPos.from),ct(r,e.scrollToPos.to),e.scrollToPos.margin),function(e,t){var n,r,i;Ce(e,\"scrollCursorIntoView\")||(r=(n=e.display).sizer.getBoundingClientRect(),i=null,t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null==i||u||(t=M(\"div\",\"\",null,\"position: absolute;\\n top: \"+(t.top-n.viewOffset-vn(e.display))+\"px;\\n height: \"+(t.bottom-t.top+wn(e)+n.barHeight)+\"px;\\n left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\"),e.display.lineSpace.appendChild(t),t.scrollIntoView(i),e.display.lineSpace.removeChild(t)))}(t,i))}var o=e.maybeHiddenMarkers,l=e.maybeUnhiddenMarkers;if(o)for(var s=0;s<o.length;++s)o[s].lines.length||xe(o[s],\"hide\");if(l)for(var a=0;a<l.length;++a)l[a].lines.length&&xe(l[a],\"unhide\");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop);e.changeObjs&&xe(t,\"changes\",t,e.changeObjs);e.update&&e.update.finish()}(t[l])}(e)})}function Er(e,t){if(e.curOp)return t();Hr(e);try{return t()}finally{Fr(e)}}function Pr(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Hr(e);try{return t.apply(e,arguments)}finally{Fr(e)}}}function Ir(e){return function(){if(this.curOp)return e.apply(this,arguments);Hr(this);try{return e.apply(this,arguments)}finally{Fr(this)}}}function Rr(t){return function(){var e=this.cm;if(!e||e.curOp)return t.apply(this,arguments);Hr(e);try{return t.apply(this,arguments)}finally{Fr(e)}}}function zr(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,F(Br,e))}function Br(l){var s,a,u,c=l.doc;c.highlightFrontier>=l.display.viewTo||(s=+new Date+l.options.workTime,a=mt(l,c.highlightFrontier),u=[],c.iter(a.line,Math.min(c.first+c.size,l.display.viewTo+500),function(e){if(a.line>=l.display.viewFrom){var t=e.styles,n=e.text.length>l.options.maxHighlightLength?je(c.mode,a.state):null,r=pt(l,e,a,!0);n&&(a.state=n),e.styles=r.styles;n=e.styleClasses,r=r.classes;r?e.styleClasses=r:n&&(e.styleClasses=null);for(var i=!t||t.length!=e.styles.length||n!=r&&(!n||!r||n.bgClass!=r.bgClass||n.textClass!=r.textClass),o=0;!i&&o<t.length;++o)i=t[o]!=e.styles[o];i&&u.push(a.line),e.stateAfter=a.save(),a.nextLine()}else e.text.length<=l.options.maxHighlightLength&&vt(l,e.text,a),e.stateAfter=a.line%5==0?a.save():null,a.nextLine();if(+new Date>s)return zr(l,l.options.workDelay),!0}),c.highlightFrontier=a.line,c.modeFrontier=Math.max(c.modeFrontier,a.line),u.length&&Er(l,function(){for(var e=0;e<u.length;e++)nr(l,u[e],\"text\")}))}var Gr=function(e,t,n){var r=e.display;this.viewport=t,this.visible=vr(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=xn(e),this.force=n,this.dims=$n(e),this.events=[]};function Ur(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return rr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==or(e))return!1;_r(e)&&(rr(e),t.dims=$n(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>l&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),kt&&(o=Bt(e.doc,o),l=Gt(e.doc,l));var s=o!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;r=o,i=l,0==(l=(o=e).display).view.length||r>=l.viewTo||i<=l.viewFrom?(l.view=tn(o,r,i),l.viewFrom=r):(l.viewFrom>r?l.view=tn(o,r,l.viewFrom).concat(l.view):l.viewFrom<r&&(l.view=l.view.slice(er(o,r))),l.viewFrom=r,l.viewTo<i?l.view=l.view.concat(tn(o,l.viewTo,i)):l.viewTo>i&&(l.view=l.view.slice(0,er(o,i)))),l.viewTo=i,n.viewOffset=Vt($e(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\";o=or(e);if(!s&&0==o&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;l=function(e){if(e.hasFocus())return null;var t=O();if(!t||!A(e.display.lineDiv,t))return null;var n={activeElt:t};return!window.getSelection||(t=window.getSelection()).anchorNode&&t.extend&&A(e.display.lineDiv,t.anchorNode)&&(n.anchorNode=t.anchorNode,n.anchorOffset=t.anchorOffset,n.focusNode=t.focusNode,n.focusOffset=t.focusOffset),n}(e);return 4<o&&(n.lineDiv.style.display=\"none\"),function(n,e,t){var r=n.display,i=n.options.lineNumbers,o=r.lineDiv,l=o.firstChild;function s(e){var t=e.nextSibling;return f&&g&&n.display.currentWheelTarget==e?e.style.display=\"none\":e.parentNode.removeChild(e),t}for(var a=r.view,u=r.viewFrom,c=0;c<a.length;c++){var h=a[c];if(!h.hidden)if(h.node&&h.node.parentNode==o){for(;l!=h.node;)l=s(l);var d=i&&null!=e&&e<=u&&h.lineNumber;h.changes&&(-1<R(h.changes,\"gutter\")&&(d=!1),an(n,h,u,t)),d&&(k(h.lineNumber),h.lineNumber.appendChild(document.createTextNode(nt(n.options,u)))),l=h.node.nextSibling}else{d=function(e,t,n,r){var i=cn(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),hn(e,t),dn(e,t,n,r),fn(e,t,r),t.node}(n,h,u,t);o.insertBefore(d,l)}u+=h.size}for(;l;)l=s(l)}(e,n.updateLineNumbers,t.dims),4<o&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,(i=l)&&i.activeElt&&i.activeElt!=O()&&(i.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(i.activeElt.nodeName)&&i.anchorNode&&A(document.body,i.anchorNode)&&A(document.body,i.focusNode)&&(o=window.getSelection(),(l=document.createRange()).setEnd(i.anchorNode,i.anchorOffset),l.collapse(!1),o.removeAllRanges(),o.addRange(l),o.extend(i.focusNode,i.focusOffset))),k(n.cursorDiv),k(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,zr(e,400)),!(n.updateLineNumbers=null)}function Vr(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=xn(e))r&&(t.visible=vr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+yn(e.display)-Cn(e),n.top)}),t.visible=vr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!Ur(e,t))break;gr(e);var i=Mr(e);lr(e),Nr(e,i),Xr(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Kr(e,t){var n=new Gr(e,t);Ur(e,n)&&(gr(e),Vr(e,n),t=Mr(e),lr(e),Nr(e,t),Xr(e,t),n.finish())}function jr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\"}function Xr(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+wn(e)+\"px\"}function Yr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=qn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&(n[l].gutter&&(n[l].gutter.style.left=o),n[l].gutterBackground&&(n[l].gutterBackground.style.left=o));var s=n[l].alignable;if(s)for(var a=0;a<s.length;a++)s[a].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+\"px\")}}function _r(e){if(e.options.lineNumbers){var t=e.doc,n=nt(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(M(\"div\",[M(\"div\",n)],\"CodeMirror-linenumber CodeMirror-gutter-elt\")),t=i.firstChild.offsetWidth,i=i.offsetWidth-t;return r.lineGutter.style.width=\"\",r.lineNumInnerWidth=Math.max(t,r.lineGutter.offsetWidth-i)+1,r.lineNumWidth=r.lineNumInnerWidth+i,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+\"px\",jr(e.display),1}}}function $r(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],l=null;if(\"string\"!=typeof o&&(l=o.style,o=o.className),\"CodeMirror-linenumbers\"==o){if(!t)continue;r=!0}n.push({className:o,style:l})}return t&&!r&&n.push({className:\"CodeMirror-linenumbers\",style:null}),n}function qr(e){var t=e.gutters,n=e.gutterSpecs;k(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,l=i.style,i=t.appendChild(M(\"div\",null,\"CodeMirror-gutter \"+o));l&&(i.style.cssText=l),\"CodeMirror-linenumbers\"==o&&((e.lineGutter=i).style.width=(e.lineNumWidth||1)+\"px\")}t.style.display=n.length?\"\":\"none\",jr(e)}function Zr(e){qr(e.display),tr(e),Yr(e)}function Qr(e,t,n,r){var i=this;this.input=n,i.scrollbarFiller=M(\"div\",null,\"CodeMirror-scrollbar-filler\"),i.scrollbarFiller.setAttribute(\"cm-not-content\",\"true\"),i.gutterFiller=M(\"div\",null,\"CodeMirror-gutter-filler\"),i.gutterFiller.setAttribute(\"cm-not-content\",\"true\"),i.lineDiv=N(\"div\",null,\"CodeMirror-code\"),i.selectionDiv=M(\"div\",null,null,\"position: relative; z-index: 1\"),i.cursorDiv=M(\"div\",null,\"CodeMirror-cursors\"),i.measure=M(\"div\",null,\"CodeMirror-measure\"),i.lineMeasure=M(\"div\",null,\"CodeMirror-measure\"),i.lineSpace=N(\"div\",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,\"position: relative; outline: none\");var o=N(\"div\",[i.lineSpace],\"CodeMirror-lines\");i.mover=M(\"div\",[o],null,\"position: relative\"),i.sizer=M(\"div\",[i.mover],\"CodeMirror-sizer\"),i.sizerWidth=null,i.heightForcer=M(\"div\",null,null,\"position: absolute; height: \"+z+\"px; width: 1px;\"),i.gutters=M(\"div\",null,\"CodeMirror-gutters\"),i.lineGutter=null,i.scroller=M(\"div\",[i.sizer,i.heightForcer,i.gutters],\"CodeMirror-scroll\"),i.scroller.setAttribute(\"tabIndex\",\"-1\"),i.wrapper=M(\"div\",[i.scrollbarFiller,i.gutterFiller,i.scroller],\"CodeMirror\"),w&&v<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),f||d&&h||(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=$r(r.gutters,r.lineNumbers),qr(i),n.init(i)}Gr.prototype.signal=function(e,t){Le(e,t)&&this.events.push(arguments)},Gr.prototype.finish=function(){for(var e=0;e<this.events.length;e++)xe.apply(null,this.events[e])};var Jr=0,ei=null;function ti(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function ni(e){e=ti(e);return e.x*=ei,e.y*=ei,e}function ri(e,t){var n=ti(t),r=n.x,i=n.y,o=e.display,l=o.scroller,s=l.scrollWidth>l.clientWidth,a=l.scrollHeight>l.clientHeight;if(r&&s||i&&a){if(i&&g&&f)e:for(var u=t.target,c=o.view;u!=l;u=u.parentNode)for(var h=0;h<c.length;h++)if(c[h].node==u){e.display.currentWheelTarget=u;break e}if(r&&!d&&!p&&null!=ei)return i&&a&&Lr(e,Math.max(0,l.scrollTop+i*ei)),Tr(e,Math.max(0,l.scrollLeft+r*ei)),(!i||i&&a)&&Te(t),void(o.wheelStartX=null);i&&null!=ei&&(n=i*ei,a=(s=e.doc.scrollTop)+o.wrapper.clientHeight,n<0?s=Math.max(0,s+n-50):a=Math.min(e.doc.height,a+n+50),Kr(e,{top:s,bottom:a})),Jr<20&&(null==o.wheelStartX?(o.wheelStartX=l.scrollLeft,o.wheelStartY=l.scrollTop,o.wheelDX=r,o.wheelDY=i,setTimeout(function(){var e,t;null!=o.wheelStartX&&(t=l.scrollLeft-o.wheelStartX,t=(e=l.scrollTop-o.wheelStartY)&&o.wheelDY&&e/o.wheelDY||t&&o.wheelDX&&t/o.wheelDX,o.wheelStartX=o.wheelStartY=null,t&&(ei=(ei*Jr+t)/(Jr+1),++Jr))},200)):(o.wheelDX+=r,o.wheelDY+=i))}}w?ei=-.53:d?ei=15:o?ei=-.7:c&&(ei=-1/3);var ii=function(e,t){this.ranges=e,this.primIndex=t};ii.prototype.primary=function(){return this.ranges[this.primIndex]},ii.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!ot(n.anchor,r.anchor)||!ot(n.head,r.head))return!1}return!0},ii.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new oi(lt(this.ranges[t].anchor),lt(this.ranges[t].head));return new ii(e,this.primIndex)},ii.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},ii.prototype.contains=function(e,t){t=t||e;for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(0<=it(t,r.from())&&it(e,r.to())<=0)return n}return-1};var oi=function(e,t){this.anchor=e,this.head=t};function li(e,t,n){var r=e&&e.options.selectionsMayTouch,e=t[n];t.sort(function(e,t){return it(e.from(),t.from())}),n=R(t,e);for(var i=1;i<t.length;i++){var o,l=t[i],s=t[i-1],a=it(s.to(),l.from());(r&&!l.empty()?0<a:0<=a)&&(o=at(s.from(),l.from()),a=st(s.to(),l.to()),s=s.empty()?l.from()==l.head:s.from()==s.head,i<=n&&--n,t.splice(--i,2,new oi(s?a:o,s?o:a)))}return new ii(t,n)}function si(e,t){return new ii([new oi(e,t||e)],0)}function ai(e){return e.text?rt(e.from.line+e.text.length-1,Y(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function ui(e,t){if(it(e,t.from)<0)return e;if(it(e,t.to)<=0)return ai(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=ai(t).ch-t.to.ch),rt(n,r)}function ci(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new oi(ui(i.anchor,t),ui(i.head,t)))}return li(e.cm,n,e.sel.primIndex)}function hi(e,t,n){return e.line==t.line?rt(n.line,e.ch-t.ch+n.ch):rt(n.line+(e.line-t.line),e.ch)}function di(e){e.doc.mode=Ue(e.options,e.doc.modeOption),fi(e)}function fi(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,zr(e,100),e.state.modeGen++,e.curOp&&tr(e)}function pi(e,t){return 0==t.from.ch&&0==t.to.ch&&\"\"==Y(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function gi(e,o,t,l){function i(e){return t?t[e]:null}function n(e,t,n){var r,i;r=t,i=n,t=l,(n=e).text=r,n.stateAfter&&(n.stateAfter=null),n.styles&&(n.styles=null),null!=n.order&&(n.order=null),Ot(n),Dt(n,i),(t=t?t(n):1)!=n.height&&Qe(n,t),ln(e,\"change\",e,o)}function r(e,t){for(var n=[],r=e;r<t;++r)n.push(new Xt(c[r],i(r),l));return n}var s,a=o.from,u=o.to,c=o.text,h=$e(e,a.line),d=$e(e,u.line),f=Y(c),p=i(c.length-1),g=u.line-a.line;o.full?(e.insert(0,r(0,c.length)),e.remove(c.length,e.size-c.length)):pi(e,o)?(s=r(0,c.length-1),n(d,d.text,p),g&&e.remove(a.line,g),s.length&&e.insert(a.line,s)):h==d?1==c.length?n(h,h.text.slice(0,a.ch)+f+h.text.slice(u.ch),p):((s=r(1,c.length-1)).push(new Xt(f+h.text.slice(u.ch),p,l)),n(h,h.text.slice(0,a.ch)+c[0],i(0)),e.insert(a.line+1,s)):1==c.length?(n(h,h.text.slice(0,a.ch)+c[0]+d.text.slice(u.ch),i(0)),e.remove(a.line+1,g)):(n(h,h.text.slice(0,a.ch)+c[0],i(0)),n(d,f+d.text.slice(u.ch),p),p=r(1,c.length-1),1<g&&e.remove(a.line+1,g-1),e.insert(a.line+1,p)),ln(e,\"change\",e,o)}function mi(e,s,a){!function e(t,n,r){if(t.linked)for(var i=0;i<t.linked.length;++i){var o,l=t.linked[i];l.doc!=n&&(o=r&&l.sharedHist,a&&!o||(s(l.doc,o),e(l.doc,t,o)))}}(e,null,!0)}function vi(e,t){if(t.cm)throw new Error(\"This document is already in use.\");Qn((e.doc=t).cm=e),di(e),yi(e),e.options.lineWrapping||jt(e),e.options.mode=t.modeOption,tr(e)}function yi(e){(\"rtl\"==e.doc.direction?D:L)(e.display.lineDiv,\"CodeMirror-rtl\")}function bi(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e||1}function wi(e,t){var n={from:lt(t.from),to:ai(t),text:qe(e,t.from,t.to)};return ki(e,n,t.from.line,t.to.line+1),mi(e,function(e){return ki(e,n,t.from.line,t.to.line+1),0},!0),n}function xi(e){for(;e.length;){if(!Y(e).ranges)break;e.pop()}}function Ci(e,t,n,r){var i=e.history;i.undone.length=0;var o,l,s=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(\"+\"==t.origin.charAt(0)&&i.lastModTime>s-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=(a=i).lastOp==r?(xi(a.done),Y(a.done)):a.done.length&&!Y(a.done).ranges?Y(a.done):1<a.done.length&&!a.done[a.done.length-2].ranges?(a.done.pop(),Y(a.done)):void 0))l=Y(o.changes),0==it(t.from,t.to)&&0==it(t.from,l.to)?l.to=ai(t):o.changes.push(wi(e,t));else{var a=Y(i.done);for(a&&a.ranges||Li(e.sel,i.done),o={changes:[wi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,l||xe(e,\"historyAdded\")}function Si(e,t,n,r){var i,o,l,s=e.history,a=r&&r.origin;n==s.lastSelOp||a&&s.lastSelOrigin==a&&(s.lastModTime==s.lastSelTime&&s.lastOrigin==a||(i=e,o=a,l=Y(s.done),e=t,\"*\"==(o=o.charAt(0))||\"+\"==o&&l.ranges.length==e.ranges.length&&l.somethingSelected()==e.somethingSelected()&&new Date-i.history.lastSelTime<=(i.cm?i.cm.options.historyEventDelay:500)))?s.done[s.done.length-1]=t:Li(t,s.done),s.lastSelTime=+new Date,s.lastSelOrigin=a,s.lastSelOp=n,r&&!1!==r.clearRedo&&xi(s.undone)}function Li(e,t){var n=Y(t);n&&n.ranges&&n.equals(e)||t.push(e)}function ki(t,n,e,r){var i=n[\"spans_\"+t.id],o=0;t.iter(Math.max(t.first,e),Math.min(t.first+t.size,r),function(e){e.markedSpans&&((i=i||(n[\"spans_\"+t.id]={}))[o]=e.markedSpans),++o})}function Ti(e,t){var n=t[\"spans_\"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(function(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t=t||e.slice(0,n):t&&t.push(e[n]);return t?t.length?t:null:e}(n[i]));return r}function Mi(e,t){var n=Ti(e,t),r=Nt(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],l=r[i];if(o&&l)e:for(var s=0;s<l.length;++s){for(var a=l[s],u=0;u<o.length;++u)if(o[u].marker==a.marker)continue e;o.push(a)}else l&&(n[i]=l)}return n}function Ni(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?ii.prototype.deepCopy.call(o):o);else{var l=o.changes,s=[];r.push({changes:s});for(var a=0;a<l.length;++a){var u,c=l[a];if(s.push({from:c.from,to:c.to,text:c.text}),t)for(var h in c)(u=h.match(/^spans_(\\d+)$/))&&-1<R(t,Number(u[1]))&&(Y(s)[h]=c[h],delete c[h])}}}return r}function Ai(e,t,n,r){if(r){r=e.anchor;return n&&((e=it(t,r)<0)!=it(n,r)<0?(r=t,t=n):e!=it(t,n)<0&&(t=n)),new oi(r,t)}return new oi(n||t,t)}function Oi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Ei(e,new ii([Ai(e.sel.primary(),t,n,i)],0),r)}function Di(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Ai(e.sel.ranges[o],t[o],null,i);Ei(e,li(e.cm,r,e.sel.primIndex),n)}function Wi(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,Ei(e,li(e.cm,i,e.sel.primIndex),r)}function Hi(e,t,n,r){Ei(e,si(t,n),r)}function Fi(e,t,n){var r=e.history.done,i=Y(r);i&&i.ranges?Pi(e,r[r.length-1]=t,n):Ei(e,t,n)}function Ei(e,t,n){Pi(e,t,n),Si(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function Pi(e,t,n){var r,i;(Le(e,\"beforeSelectionChange\")||e.cm&&Le(e.cm,\"beforeSelectionChange\"))&&(r=e,i=n,i={ranges:(o=t).ranges,update:function(e){this.ranges=[];for(var t=0;t<e.length;t++)this.ranges[t]=new oi(ct(r,e[t].anchor),ct(r,e[t].head))},origin:i&&i.origin},xe(r,\"beforeSelectionChange\",r,i),r.cm&&xe(r.cm,\"beforeSelectionChange\",r.cm,i),t=i.ranges!=o.ranges?li(r.cm,i.ranges,i.ranges.length-1):o);var o=n&&n.bias||(it(t.primary().head,e.sel.primary().head)<0?-1:1);Ii(e,zi(e,t,o,!0)),n&&!1===n.scroll||!e.cm||wr(e.cm)}function Ii(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,Se(e.cm)),ln(e,\"cursorActivity\",e))}function Ri(e){Ii(e,zi(e,e.sel,null,!1))}function zi(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],a=Gi(e,l.anchor,s&&s.anchor,n,r),s=Gi(e,l.head,s&&s.head,n,r);!i&&a==l.anchor&&s==l.head||((i=i||t.ranges.slice(0,o))[o]=new oi(a,s))}return i?li(e.cm,i,t.primIndex):t}function Bi(e,t,n,r,i){var o=$e(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var s=o.markedSpans[l],a=s.marker,u=\"selectLeft\"in a?!a.selectLeft:a.inclusiveLeft,c=\"selectRight\"in a?!a.selectRight:a.inclusiveRight;if((null==s.from||(u?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(c?s.to>=t.ch:s.to>t.ch))){if(i&&(xe(a,\"beforeCursorEnter\"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(a.atomic){if(n){var h=a.find(r<0?1:-1),s=void 0;if((r<0?c:u)&&(h=Ui(e,h,-r,h&&h.line==t.line?o:null)),h&&h.line==t.line&&(s=it(h,n))&&(r<0?s<0:0<s))return Bi(e,h,t,r,i)}a=a.find(r<0?-1:1);return(r<0?u:c)&&(a=Ui(e,a,r,a.line==t.line?o:null)),a?Bi(e,a,t,r,i):null}}}return t}function Gi(e,t,n,r,i){r=r||1,r=Bi(e,t,n,r,i)||!i&&Bi(e,t,n,r,!0)||Bi(e,t,n,-r,i)||!i&&Bi(e,t,n,-r,!0);return r||(e.cantEdit=!0,rt(e.first,0))}function Ui(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?ct(e,rt(t.line-1)):null:0<n&&t.ch==(r||$e(e,t.line)).text.length?t.line<e.first+e.size-1?rt(t.line+1,0):null:new rt(t.line,t.ch+n)}function Vi(e){e.setSelection(rt(e.firstLine(),0),rt(e.lastLine()),G)}function Ki(i,e,t){var o={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){return o.canceled=!0}};return t&&(o.update=function(e,t,n,r){e&&(o.from=ct(i,e)),t&&(o.to=ct(i,t)),n&&(o.text=n),void 0!==r&&(o.origin=r)}),xe(i,\"beforeChange\",i,o),i.cm&&xe(i.cm,\"beforeChange\",i.cm,o),o.canceled?(i.cm&&(i.cm.curOp.updateInput=2),null):{from:o.from,to:o.to,text:o.text,origin:o.origin}}function ji(e,t,n){if(e.cm){if(!e.cm.curOp)return Pr(e.cm,ji)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(Le(e,\"beforeChange\")||e.cm&&Le(e.cm,\"beforeChange\"))||(t=Ki(e,t,!0))){var r=Lt&&!n&&function(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=R(r,n)||(r=r||[]).push(n)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var l=r[o],s=l.find(0),a=0;a<i.length;++a){var u,c,h,d=i[a];it(d.to,s.from)<0||0<it(d.from,s.to)||(u=[a,1],c=it(d.from,s.from),h=it(d.to,s.to),(c<0||!l.inclusiveLeft&&!c)&&u.push({from:d.from,to:s.from}),(0<h||!l.inclusiveRight&&!h)&&u.push({from:s.to,to:d.to}),i.splice.apply(i,u),a+=u.length-3)}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;0<=i;--i)Xi(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else Xi(e,t)}}function Xi(e,n){var t,r;1==n.text.length&&\"\"==n.text[0]&&0==it(n.from,n.to)||(t=ci(e,n),Ci(e,n,t,e.cm?e.cm.curOp.id:NaN),$i(e,n,t,Nt(e,n)),r=[],mi(e,function(e,t){t||-1!=R(r,e.history)||(Ji(e.history,n),r.push(e.history)),$i(e,n,null,Nt(e,n))}))}function Yi(i,o,e){var t=i.cm&&i.cm.state.suppressEdits;if(!t||e){for(var l,n=i.history,r=i.sel,s=\"undo\"==o?n.done:n.undone,a=\"undo\"==o?n.undone:n.done,u=0;u<s.length&&(l=s[u],e?!l.ranges||l.equals(i.sel):l.ranges);u++);if(u!=s.length){for(n.lastOrigin=n.lastSelOrigin=null;;){if(!(l=s.pop()).ranges){if(t)return void s.push(l);break}if(Li(l,a),e&&!l.equals(i.sel))return void Ei(i,l,{clearRedo:!1});r=l}var c=[];Li(r,a),a.push({changes:c,generation:n.generation}),n.generation=l.generation||++n.maxGeneration;for(var h=Le(i,\"beforeChange\")||i.cm&&Le(i.cm,\"beforeChange\"),d=l.changes.length-1;0<=d;--d){var f=function(e){var n=l.changes[e];if(n.origin=o,h&&!Ki(i,n,!1))return s.length=0,{};c.push(wi(i,n));var t=e?ci(i,n):Y(s);$i(i,n,t,Mi(i,n)),!e&&i.cm&&i.cm.scrollIntoView({from:n.from,to:ai(n)});var r=[];mi(i,function(e,t){t||-1!=R(r,e.history)||(Ji(e.history,n),r.push(e.history)),$i(e,n,null,Mi(e,n))})}(d);if(f)return f.v}}}}function _i(e,t){if(0!=t&&(e.first+=t,e.sel=new ii(_(e.sel.ranges,function(e){return new oi(rt(e.anchor.line+t,e.anchor.ch),rt(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){tr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)nr(e.cm,r,\"gutter\")}}function $i(e,t,n,r){if(e.cm&&!e.cm.curOp)return Pr(e.cm,$i)(e,t,n,r);var i;t.to.line<e.first?_i(e,t.text.length-1-(t.to.line-t.from.line)):t.from.line>e.lastLine()||(t.from.line<e.first&&(_i(e,i=t.text.length-1-(e.first-t.from.line)),t={from:rt(e.first,0),to:rt(t.to.line+i,t.to.ch),text:[Y(t.text)],origin:t.origin}),i=e.lastLine(),t.to.line>i&&(t={from:t.from,to:rt(i,$e(e,i).text.length),text:[t.text[0]],origin:t.origin}),t.removed=qe(e,t.from,t.to),n=n||ci(e,t),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,l=t.to,s=!1,a=o.line;e.options.lineWrapping||(a=Je(zt($e(r,o.line))),r.iter(a,l.line+1,function(e){if(e==i.maxLine)return s=!0}));-1<r.sel.contains(t.from,t.to)&&Se(e);gi(r,t,n,Zn(e)),e.options.lineWrapping||(r.iter(a,o.line+t.text.length,function(e){var t=Kt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0));(function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;n<r;r--){var i=$e(e,r).stateAfter;if(i&&(!(i instanceof dt)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}})(r,o.line),zr(e,400);a=t.text.length-(l.line-o.line)-1;t.full?tr(e):o.line!=l.line||1!=t.text.length||pi(e.doc,t)?tr(e,o.line,l.line+1,a):nr(e,o.line,\"text\");r=Le(e,\"changes\"),a=Le(e,\"change\");(a||r)&&(t={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin},a&&ln(e,\"change\",e,t),r&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(t));e.display.selForContextMenu=null}(e.cm,t,r):gi(e,t,r),Pi(e,n,G),e.cantEdit&&Gi(e,rt(e.firstLine(),0))&&(e.cantEdit=!1))}function qi(e,t,n,r,i){var o;it(r=r||n,n)<0&&(n=(o=[r,n])[0],r=o[1]),\"string\"==typeof t&&(t=e.splitLines(t)),ji(e,{from:n,to:r,text:t,origin:i})}function Zi(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function Qi(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)Zi(o.ranges[s].anchor,t,n,r),Zi(o.ranges[s].head,t,n,r)}else{for(var a=0;a<o.changes.length;++a){var u=o.changes[a];if(n<u.from.line)u.from=rt(u.from.line+r,u.from.ch),u.to=rt(u.to.line+r,u.to.ch);else if(t<=u.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}}function Ji(e,t){var n=t.from.line,r=t.to.line,t=t.text.length-(r-n)-1;Qi(e.done,n,r,t),Qi(e.undone,n,r,t)}function eo(e,t,n,r){var i=t,o=t;return\"number\"==typeof t?o=$e(e,ut(e,t)):i=Je(t),null==i?null:(r(o,i)&&e.cm&&nr(e.cm,i,n),o)}function to(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function no(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}oi.prototype.from=function(){return at(this.anchor,this.head)},oi.prototype.to=function(){return st(this.anchor,this.head)},oi.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},to.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n,r=e,i=e+t;r<i;++r){var o=this.lines[r];this.height-=o.height,(n=o).parent=null,Ot(n),ln(o,\"delete\")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},no.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n,r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e),s=i.height;if(i.removeInner(e,l),this.height-=s-i.height,o==l&&(this.children.splice(r--,1),i.parent=null),0==(t-=l))break;e=0}else e-=o}this.size-t<25&&(1<this.children.length||!(this.children[0]instanceof to))&&(n=[],this.collapse(n),this.children=[new to(n)],this.children[0].parent=this)},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&50<i.lines.length){for(var l=i.lines.length%25+25,s=l;s<i.lines.length;){var a=new to(i.lines.slice(s,s+=25));i.height-=a.height,this.children.splice(++r,0,a),a.parent=this}i.lines=i.lines.slice(0,l),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t,n=new no(e.children.splice(e.children.length-5,5))}while(e.parent?(e.size-=n.size,e.height-=n.height,t=R(e.parent.children,e),e.parent.children.splice(t+1,0,n)):(((t=new no(e.children)).parent=e).children=[t,n],e=t),n.parent=e.parent,10<e.children.length);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,n))return!0;if(0==(t-=l))break;e=0}else e-=o}}};function ro(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t}function io(e,t,n){Vt(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&br(e,n)}ro.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=Je(n);if(null!=r&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=gn(this);Qe(n,Math.max(0,n.height-o)),e&&(Er(e,function(){io(e,n,-o),nr(e,r,\"widget\")}),ln(e,\"lineWidgetCleared\",e,this,r))}},ro.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=gn(this)-t;i&&(Ut(this.doc,r)||Qe(r,r.height+i),n&&Er(n,function(){n.curOp.forceUpdate=!0,io(n,r,i),ln(n,\"lineWidgetChanged\",n,e,Je(r))}))},ke(ro);var oo=0,lo=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++oo};function so(t,n,r,e,i){if(e&&e.shared)return function(e,n,r,i,o){(i=E(i)).shared=!1;var l=[so(e,n,r,i,o)],s=l[0],a=i.widgetNode;return mi(e,function(e){a&&(i.widgetNode=a.cloneNode(!0)),l.push(so(e,ct(e,n),ct(e,r),i,o));for(var t=0;t<e.linked.length;++t)if(e.linked[t].isParent)return;s=Y(l)}),new ao(l,s)}(t,n,r,e,i);if(t.cm&&!t.cm.curOp)return Pr(t.cm,so)(t,n,r,e,i);var o=new lo(t,i),i=it(n,r);if(e&&E(e,o,!1),0<i||0==i&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=N(\"span\",[o.replacedWith],\"CodeMirror-widget\"),e.handleMouseEvents||o.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),e.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Rt(t,n.line,n,r,o)||n.line!=r.line&&Rt(t,r.line,n,r,o))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");kt=!0}o.addToHistory&&Ci(t,{from:n,to:r,origin:\"markText\"},t.sel,NaN);var l,s=n.line,a=t.cm;if(t.iter(s,r.line+1,function(e){var t;a&&o.collapsed&&!a.options.lineWrapping&&zt(e)==a.display.maxLine&&(l=!0),o.collapsed&&s!=n.line&&Qe(e,0),t=e,e=new Tt(o,s==n.line?n.ch:null,s==r.line?r.ch:null),t.markedSpans=t.markedSpans?t.markedSpans.concat([e]):[e],e.marker.attachLine(t),++s}),o.collapsed&&t.iter(n.line,r.line+1,function(e){Ut(t,e)&&Qe(e,0)}),o.clearOnEnter&&ye(o,\"beforeCursorEnter\",function(){return o.clear()}),o.readOnly&&(Lt=!0,(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++oo,o.atomic=!0),a){if(l&&(a.curOp.updateMaxLine=!0),o.collapsed)tr(a,n.line,r.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var u=n.line;u<=r.line;u++)nr(a,u,\"text\");o.atomic&&Ri(a.doc),ln(a,\"markerAdded\",a,o)}return o}lo.prototype.clear=function(){if(!this.explicitlyCleared){var e,t=this.doc.cm,n=t&&!t.curOp;n&&Hr(t),!Le(this,\"clear\")||(e=this.find())&&ln(this,\"clear\",e.from,e.to);for(var r=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],s=Mt(l.markedSpans,this);t&&!this.collapsed?nr(t,Je(l),\"text\"):t&&(null!=s.to&&(i=Je(l)),null!=s.from&&(r=Je(l))),l.markedSpans=function(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n=n||[]).push(e[r]);return n}(l.markedSpans,s),null==s.from&&this.collapsed&&!Ut(this.doc,l)&&t&&Qe(l,Yn(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(var a=0;a<this.lines.length;++a){var u=zt(this.lines[a]),c=Kt(u);c>t.display.maxLineLength&&(t.display.maxLine=u,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&tr(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&Ri(t.doc)),t&&ln(t,\"markerCleared\",t,this,r,i),n&&Fr(t),this.parent&&this.parent.clear()}},lo.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],l=Mt(o.markedSpans,this);if(null!=l.from&&(n=rt(t?o:Je(o),l.from),-1==e))return n;if(null!=l.to&&(r=rt(t?o:Je(o),l.to),1==e))return r}return n&&{from:n,to:r}},lo.prototype.changed=function(){var n=this,r=this.find(-1,!0),i=this,o=this.doc.cm;r&&o&&Er(o,function(){var e=r.line,t=Je(r.line),t=kn(o,t);t&&(Dn(t),o.curOp.selectionChanged=o.curOp.forceUpdate=!0),o.curOp.updateMaxLine=!0,Ut(i.doc,e)||null==i.height||(t=i.height,i.height=null,(t=gn(i)-t)&&Qe(e,e.height+t)),ln(o,\"markerChanged\",o,n)})},lo.prototype.attachLine=function(e){var t;!this.lines.length&&this.doc.cm&&((t=this.doc.cm.curOp).maybeHiddenMarkers&&-1!=R(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)),this.lines.push(e)},lo.prototype.detachLine=function(e){this.lines.splice(R(this.lines,e),1),!this.lines.length&&this.doc.cm&&((e=this.doc.cm.curOp).maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)},ke(lo);var ao=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function uo(e){return e.findMarks(rt(e.first,0),e.clipPos(rt(e.lastLine())),function(e){return e.parent})}ao.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();ln(this,\"clear\")}},ao.prototype.find=function(e,t){return this.primary.find(e,t)},ke(ao);var co=0,ho=function(e,t,n,r,i){if(!(this instanceof ho))return new ho(e,t,n,r,i);null==n&&(n=0),no.call(this,[new to([new Xt(\"\",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1;n=rt(this.modeFrontier=this.highlightFrontier=n,0);this.sel=si(n),this.history=new bi(null),this.id=++co,this.modeOption=t,this.lineSep=r,this.direction=\"rtl\"==i?\"rtl\":\"ltr\",this.extend=!1,\"string\"==typeof e&&(e=this.splitLines(e)),gi(this,{from:n,to:n,text:e}),Ei(this,si(n),G)};ho.prototype=q(no.prototype,{constructor:ho,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=Ze(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:Rr(function(e){var t=rt(this.first,0),n=this.first+this.size-1;ji(this,{from:t,to:rt(n,$e(this,n).text.length),text:this.splitLines(e),origin:\"setValue\",full:!0},!0),this.cm&&xr(this.cm,0,0),Ei(this,si(t),G)}),replaceRange:function(e,t,n,r){qi(this,e,t=ct(this,t),n=n?ct(this,n):t,r)},getRange:function(e,t,n){t=qe(this,ct(this,e),ct(this,t));return!1===n?t:t.join(n||this.lineSeparator())},getLine:function(e){e=this.getLineHandle(e);return e&&e.text},getLineHandle:function(e){if(tt(this,e))return $e(this,e)},getLineNumber:Je,getLineHandleVisualStart:function(e){return\"number\"==typeof e&&(e=$e(this,e)),zt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return ct(this,e)},getCursor:function(e){var t=this.sel.primary(),t=null==e||\"head\"==e?t.head:\"anchor\"==e?t.anchor:\"end\"==e||\"to\"==e||!1===e?t.to():t.from();return t},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Rr(function(e,t,n){Hi(this,ct(this,\"number\"==typeof e?rt(e,t||0):e),null,n)}),setSelection:Rr(function(e,t,n){Hi(this,ct(this,e),ct(this,t||e),n)}),extendSelection:Rr(function(e,t,n){Oi(this,ct(this,e),t&&ct(this,t),n)}),extendSelections:Rr(function(e,t){Di(this,ht(this,e),t)}),extendSelectionsBy:Rr(function(e,t){Di(this,ht(this,_(this.sel.ranges,e)),t)}),setSelections:Rr(function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new oi(ct(this,e[i].anchor),ct(this,e[i].head));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),Ei(this,li(this.cm,r,t),n)}}),addSelection:Rr(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new oi(ct(this,e),ct(this,t||e))),Ei(this,li(this.cm,r,r.length-1),n)}),getSelection:function(e){for(var t=this.sel.ranges,n=0;n<t.length;n++)var r=qe(this,t[n].from(),t[n].to()),i=i?i.concat(r):r;return!1===e?i:i.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=qe(this,n[r].from(),n[r].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||\"+input\")},replaceSelections:Rr(function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];r[o]={from:l.from(),to:l.to(),text:this.splitLines(e[o]),origin:n}}for(var t=t&&\"end\"!=t&&function(e,t,n){for(var r=[],i=u=rt(e.first,0),o=0;o<t.length;o++){var l=t[o],s=hi(l.from,u,i),a=hi(ai(l),u,i),u=l.to,i=a;\"around\"==n?(l=it((l=e.sel.ranges[o]).head,l.anchor)<0,r[o]=new oi(l?a:s,l?s:a)):r[o]=new oi(s,s)}return new ii(r,e.sel.primIndex)}(this,r,t),s=r.length-1;0<=s;s--)ji(this,r[s]);t?Fi(this,t):this.cm&&wr(this.cm)}),undo:Rr(function(){Yi(this,\"undo\")}),redo:Rr(function(){Yi(this,\"redo\")}),undoSelection:Rr(function(){Yi(this,\"undo\",!0)}),redoSelection:Rr(function(){Yi(this,\"redo\",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var t=this;this.history=new bi(this.history.maxGeneration),mi(this,function(e){return e.history=t.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Ni(this.history.done),undone:Ni(this.history.undone)}},setHistory:function(e){var t=this.history=new bi(this.history.maxGeneration);t.done=Ni(e.done.slice(0),null,!0),t.undone=Ni(e.undone.slice(0),null,!0)},setGutterMarker:Rr(function(e,n,r){return eo(this,e,\"gutter\",function(e){var t=e.gutterMarkers||(e.gutterMarkers={});return!(t[n]=r)&&ee(t)&&(e.gutterMarkers=null),1})}),clearGutter:Rr(function(t){var n=this;this.iter(function(e){e.gutterMarkers&&e.gutterMarkers[t]&&eo(n,e,\"gutter\",function(){return e.gutterMarkers[t]=null,ee(e.gutterMarkers)&&(e.gutterMarkers=null),1})})}),lineInfo:function(e){var t;if(\"number\"==typeof e){if(!tt(this,e))return null;if(!(e=$e(this,t=e)))return null}else if(null==(t=Je(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:Rr(function(e,n,r){return eo(this,e,\"gutter\"==n?\"gutter\":\"class\",function(e){var t=\"text\"==n?\"textClass\":\"background\"==n?\"bgClass\":\"gutter\"==n?\"gutterClass\":\"wrapClass\";if(e[t]){if(C(r).test(e[t]))return;e[t]+=\" \"+r}else e[t]=r;return 1})}),removeLineClass:Rr(function(e,o,l){return eo(this,e,\"gutter\"==o?\"gutter\":\"class\",function(e){var t=\"text\"==o?\"textClass\":\"background\"==o?\"bgClass\":\"gutter\"==o?\"gutterClass\":\"wrapClass\",n=e[t];if(n){if(null==l)e[t]=null;else{var r=n.match(C(l));if(!r)return;var i=r.index+r[0].length;e[t]=n.slice(0,r.index)+(r.index&&i!=n.length?\" \":\"\")+n.slice(i)||null}return 1}})}),addLineWidget:Rr(function(e,t,n){return e=e,i=new ro(r=this,t,n),(o=r.cm)&&i.noHScroll&&(o.display.alignWidgets=!0),eo(r,e,\"widget\",function(e){var t=e.widgets||(e.widgets=[]);return null==i.insertAt?t.push(i):t.splice(Math.min(t.length,Math.max(0,i.insertAt)),0,i),i.line=e,o&&!Ut(r,e)&&(t=Vt(e)<r.scrollTop,Qe(e,e.height+gn(i)),t&&br(o,i.height),o.curOp.forceUpdate=!0),1}),o&&ln(o,\"lineWidgetAdded\",o,i,\"number\"==typeof e?e:Je(e)),i;var r,i,o}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return so(this,ct(this,e),ct(this,t),n,n&&n.type||\"range\")},setBookmark:function(e,t){t={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return so(this,e=ct(this,e),e,t,\"bookmark\")},findMarksAt:function(e){var t=[],n=$e(this,(e=ct(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(i,o,l){i=ct(this,i),o=ct(this,o);var s=[],a=i.line;return this.iter(i.line,o.line+1,function(e){var t=e.markedSpans;if(t)for(var n=0;n<t.length;n++){var r=t[n];null!=r.to&&a==i.line&&i.ch>=r.to||null==r.from&&a!=i.line||null!=r.from&&a==o.line&&r.from>=o.ch||l&&!l(r.marker)||s.push(r.marker.parent||r.marker)}++a}),s},getAllMarks:function(){var r=[];return this.iter(function(e){var t=e.markedSpans;if(t)for(var n=0;n<t.length;++n)null!=t[n].from&&r.push(t[n].marker)}),r},posFromIndex:function(t){var n,r=this.first,i=this.lineSeparator().length;return this.iter(function(e){e=e.text.length+i;if(t<e)return n=t,!0;t-=e,++r}),ct(this,rt(r,n))},indexFromPos:function(e){var t=(e=ct(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+n}),t},copy:function(e){var t=new ho(Ze(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e=e||{};var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);t=new ho(Ze(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(t.history=this.history),(this.linked||(this.linked=[])).push({doc:t,sharedHist:e.sharedHist}),t.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),i=e.clipPos(i.to);it(o,i)&&(i=so(e,o,i,r.primary,r.primary.type),r.markers.push(i),i.parent=r)}}(t,uo(this)),t},unlinkDoc:function(e){if(e instanceof ul&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t)if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),function(o){for(var e=0;e<o.length;e++)!function(e){var t=o[e],n=[t.primary.doc];mi(t.primary.doc,function(e){return n.push(e)});for(var r=0;r<t.markers.length;r++){var i=t.markers[r];-1==R(n,i.doc)&&(i.parent=null,t.markers.splice(r--,1))}}(e)}(uo(this));break}var n;e.history==this.history&&(n=[e.id],mi(e,function(e){return n.push(e.id)},!0),e.history=new bi(null),e.history.done=Ni(this.history.done,n),e.history.undone=Ni(this.history.undone,n))},iterLinkedDocs:function(e){mi(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):Ee(e)},lineSeparator:function(){return this.lineSep||\"\\n\"},setDirection:Rr(function(e){var t;\"rtl\"!=e&&(e=\"ltr\"),e!=this.direction&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&Er(t=this.cm,function(){yi(t),tr(t)}))})}),ho.prototype.eachLine=ho.prototype.iter;var fo=0;function po(e){var r=this;if(go(r),!Ce(r,e)&&!mn(r.display,e)){Te(e),w&&(fo=+new Date);var t=Jn(r,e,!0),n=e.dataTransfer.files;if(t&&!r.isReadOnly())if(n&&n.length&&window.FileReader&&window.File)for(var i=n.length,o=Array(i),l=0,s=function(){++l==i&&Pr(r,function(){var e={from:t=ct(r.doc,t),to:t,text:r.doc.splitLines(o.filter(function(e){return null!=e}).join(r.doc.lineSeparator())),origin:\"paste\"};ji(r.doc,e),Fi(r.doc,si(ct(r.doc,t),ct(r.doc,ai(e))))})()},a=0;a<n.length;a++)!function(e,t){var n;r.options.allowDropFileTypes&&-1==R(r.options.allowDropFileTypes,e.type)?s():((n=new FileReader).onerror=s,n.onload=function(){var e=n.result;/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(e)||(o[t]=e),s()},n.readAsText(e))}(n[a],a);else{if(r.state.draggingText&&-1<r.doc.sel.contains(t))return r.state.draggingText(e),void setTimeout(function(){return r.display.input.focus()},20);try{var u,c=e.dataTransfer.getData(\"Text\");if(c){if(r.state.draggingText&&!r.state.draggingText.copy&&(u=r.listSelections()),Pi(r.doc,si(t,t)),u)for(var h=0;h<u.length;++h)qi(r.doc,\"\",u[h].anchor,u[h].head,\"drag\");r.replaceSelection(c,\"around\",\"paste\"),r.display.input.focus()}}catch(e){}}}}function go(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function mo(t){if(document.getElementsByClassName){for(var e=document.getElementsByClassName(\"CodeMirror\"),n=[],r=0;r<e.length;r++){var i=e[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation(function(){for(var e=0;e<n.length;e++)t(n[e])})}}var vo=!1;function yo(){var e;vo||(ye(window,\"resize\",function(){null==e&&(e=setTimeout(function(){e=null,mo(bo)},100))}),ye(window,\"blur\",function(){return mo(pr)}),vo=!0)}function bo(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var wo={3:\"Pause\",8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"PrintScrn\",45:\"Insert\",46:\"Delete\",59:\";\",61:\"=\",91:\"Mod\",92:\"Mod\",93:\"Mod\",106:\"*\",107:\"=\",109:\"-\",110:\".\",111:\"/\",145:\"ScrollLock\",173:\"-\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",224:\"Mod\",63232:\"Up\",63233:\"Down\",63234:\"Left\",63235:\"Right\",63272:\"Delete\",63273:\"Home\",63275:\"End\",63276:\"PageUp\",63277:\"PageDown\",63302:\"Insert\"},xo=0;xo<10;xo++)wo[xo+48]=wo[xo+96]=String(xo);for(var Co=65;Co<=90;Co++)wo[Co]=String.fromCharCode(Co);for(var So=1;So<=12;So++)wo[So+111]=wo[So+63235]=\"F\"+So;var Lo={};function ko(e){var t,n,r,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var l=0;l<o.length-1;l++){var s=o[l];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error(\"Unrecognized modifier name: \"+s);r=!0}}return t&&(e=\"Alt-\"+e),n&&(e=\"Ctrl-\"+e),i&&(e=\"Cmd-\"+e),r&&(e=\"Shift-\"+e),e}function To(e){var t,n,r={};for(t in e)if(e.hasOwnProperty(t)){var i=e[t];if(!/^(name|fallthrough|(de|at)tach)$/.test(t))if(\"...\"!=i){for(var o=_(t.split(\" \"),ko),l=0;l<o.length;l++){var s=void 0,a=void 0,s=l==o.length-1?(a=o.join(\" \"),i):(a=o.slice(0,l+1).join(\" \"),\"...\"),u=r[a];if(u){if(u!=s)throw new Error(\"Inconsistent bindings for \"+a)}else r[a]=s}delete e[t]}else delete e[t]}for(n in r)e[n]=r[n];return e}function Mo(e,t,n,r){var i=(t=Do(t)).call?t.call(e,r):t[e];if(!1===i)return\"nothing\";if(\"...\"===i)return\"multi\";if(null!=i&&n(i))return\"handled\";if(t.fallthrough){if(\"[object Array]\"!=Object.prototype.toString.call(t.fallthrough))return Mo(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var l=Mo(e,t.fallthrough[o],n,r);if(l)return l}}}function No(e){e=\"string\"==typeof e?e:wo[e.keyCode];return\"Ctrl\"==e||\"Alt\"==e||\"Shift\"==e||\"Mod\"==e}function Ao(e,t,n){var r=e;return t.altKey&&\"Alt\"!=r&&(e=\"Alt-\"+e),(b?t.metaKey:t.ctrlKey)&&\"Ctrl\"!=r&&(e=\"Ctrl-\"+e),(b?t.ctrlKey:t.metaKey)&&\"Mod\"!=r&&(e=\"Cmd-\"+e),!n&&t.shiftKey&&\"Shift\"!=r&&(e=\"Shift-\"+e),e}function Oo(e,t){if(p&&34==e.keyCode&&e.char)return!1;var n=wo[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),Ao(n,e,t))}function Do(e){return\"string\"==typeof e?Lo[e]:e}function Wo(t,e){for(var n=t.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=e(n[i]);r.length&&it(o.from,Y(r).to)<=0;){var l=r.pop();if(it(l.from,o.from)<0){o.from=l.from;break}}r.push(o)}Er(t,function(){for(var e=r.length-1;0<=e;e--)qi(t.doc,\"\",r[e].from,r[e].to,\"+delete\");wr(t)})}function Ho(e,t,n){n=re(e.text,t+n,n);return n<0||n>e.text.length?null:n}function Fo(e,t,n){e=Ho(e,t.ch,n);return null==e?null:new rt(t.line,e,n<0?\"after\":\"before\")}function Eo(e,t,n,r,i){if(e){\"rtl\"==t.doc.direction&&(i=-i);var o=me(n,t.doc.direction);if(o){var l,s,a,e=i<0?Y(o):o[0],o=i<0==(1==e.level)?\"after\":\"before\";return 0<e.level||\"rtl\"==t.doc.direction?(l=Tn(t,n),s=i<0?n.text.length-1:0,a=Mn(t,l,s).top,s=ie(function(e){return Mn(t,l,e).top==a},i<0==(1==e.level)?e.from:e.to-1,s),\"before\"==o&&(s=Ho(n,s,1))):s=i<0?e.to:e.from,new rt(r,s,o)}}return new rt(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}function Po(t,n,s,e){var a=me(n,t.doc.direction);if(!a)return Fo(n,s,e);s.ch>=n.text.length?(s.ch=n.text.length,s.sticky=\"before\"):s.ch<=0&&(s.ch=0,s.sticky=\"after\");var r=le(a,s.ch,s.sticky),i=a[r];if(\"ltr\"==t.doc.direction&&i.level%2==0&&(0<e?i.to>s.ch:i.from<s.ch))return Fo(n,s,e);function u(e,t){return Ho(n,e instanceof rt?e.ch:e,t)}function o(e){return t.options.lineWrapping?(l=l||Tn(t,n),jn(t,n,l,e)):{begin:0,end:n.text.length}}var l,c=o(\"before\"==s.sticky?u(s,-1):s.ch);if(\"rtl\"==t.doc.direction||1==i.level){var h=1==i.level==e<0,d=u(s,h?1:-1);if(null!=d&&(h?d<=i.to&&d<=c.end:d>=i.from&&d>=c.begin)){var f=h?\"before\":\"after\";return new rt(s.line,d,f)}}f=function(e,t,n){for(var r=function(e,t){return t?new rt(s.line,u(e,1),\"before\"):new rt(s.line,e,\"after\")};0<=e&&e<a.length;e+=t){var i=a[e],o=0<t==(1!=i.level),l=o?n.begin:u(n.end,-1);if(i.from<=l&&l<i.to)return r(l,o);if(l=o?i.from:u(i.to,-1),n.begin<=l&&l<n.end)return r(l,o)}},r=f(r+e,e,c);if(r)return r;c=0<e?c.end:u(c.begin,-1);return null==c||0<e&&c==n.text.length||!(r=f(0<e?0:a.length-1,e,o(c)))?null:r}Lo.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},Lo.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},Lo.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Alt-F\":\"goWordRight\",\"Alt-B\":\"goWordLeft\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-D\":\"delWordAfter\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},Lo.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},Lo.default=g?Lo.macDefault:Lo.pcDefault;var Io={selectAll:Vi,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),G)},killLine:function(n){return Wo(n,function(e){if(e.empty()){var t=$e(n.doc,e.head.line).text.length;return e.head.ch==t&&e.head.line<n.lastLine()?{from:e.head,to:rt(e.head.line+1,0)}:{from:e.head,to:rt(e.head.line,t)}}return{from:e.from(),to:e.to()}})},deleteLine:function(t){return Wo(t,function(e){return{from:rt(e.from().line,0),to:ct(t.doc,rt(e.to().line+1,0))}})},delLineLeft:function(e){return Wo(e,function(e){return{from:rt(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(n){return Wo(n,function(e){var t=n.charCoords(e.head,\"div\").top+5;return{from:n.coordsChar({left:0,top:t},\"div\"),to:e.from()}})},delWrappedLineRight:function(n){return Wo(n,function(e){var t=n.charCoords(e.head,\"div\").top+5,t=n.coordsChar({left:n.display.lineDiv.offsetWidth+100,top:t},\"div\");return{from:e.from(),to:t}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(rt(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(rt(e.lastLine()))},goLineStart:function(t){return t.extendSelectionsBy(function(e){return Ro(t,e.head.line)},{origin:\"+move\",bias:1})},goLineStartSmart:function(t){return t.extendSelectionsBy(function(e){return zo(t,e.head)},{origin:\"+move\",bias:1})},goLineEnd:function(t){return t.extendSelectionsBy(function(e){return function(e,t){var n=$e(e.doc,t),r=function(e){for(var t;t=It(e);)e=t.find(1,!0).line;return e}(n);r!=n&&(t=Je(r));return Eo(!0,e,n,t,-1)}(t,e.head.line)},{origin:\"+move\",bias:-1})},goLineRight:function(t){return t.extendSelectionsBy(function(e){e=t.cursorCoords(e.head,\"div\").top+5;return t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:e},\"div\")},V)},goLineLeft:function(t){return t.extendSelectionsBy(function(e){e=t.cursorCoords(e.head,\"div\").top+5;return t.coordsChar({left:0,top:e},\"div\")},V)},goLineLeftSmart:function(n){return n.extendSelectionsBy(function(e){var t=n.cursorCoords(e.head,\"div\").top+5,t=n.coordsChar({left:0,top:t},\"div\");return t.ch<n.getLine(t.line).search(/\\S/)?zo(n,e.head):t},V)},goLineUp:function(e){return e.moveV(-1,\"line\")},goLineDown:function(e){return e.moveV(1,\"line\")},goPageUp:function(e){return e.moveV(-1,\"page\")},goPageDown:function(e){return e.moveV(1,\"page\")},goCharLeft:function(e){return e.moveH(-1,\"char\")},goCharRight:function(e){return e.moveH(1,\"char\")},goColumnLeft:function(e){return e.moveH(-1,\"column\")},goColumnRight:function(e){return e.moveH(1,\"column\")},goWordLeft:function(e){return e.moveH(-1,\"word\")},goGroupRight:function(e){return e.moveH(1,\"group\")},goGroupLeft:function(e){return e.moveH(-1,\"group\")},goWordRight:function(e){return e.moveH(1,\"word\")},delCharBefore:function(e){return e.deleteH(-1,\"codepoint\")},delCharAfter:function(e){return e.deleteH(1,\"char\")},delWordBefore:function(e){return e.deleteH(-1,\"word\")},delWordAfter:function(e){return e.deleteH(1,\"word\")},delGroupBefore:function(e){return e.deleteH(-1,\"group\")},delGroupAfter:function(e){return e.deleteH(1,\"group\")},indentAuto:function(e){return e.indentSelection(\"smart\")},indentMore:function(e){return e.indentSelection(\"add\")},indentLess:function(e){return e.indentSelection(\"subtract\")},insertTab:function(e){return e.replaceSelection(\"\\t\")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),o=P(e.getLine(o.line),o.ch,r);t.push(X(r-o%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection(\"add\"):e.execCommand(\"insertTab\")},transposeChars:function(l){return Er(l,function(){for(var e,t,n,r=l.listSelections(),i=[],o=0;o<r.length;o++)r[o].empty()&&(e=r[o].head,(t=$e(l.doc,e.line).text)&&(e.ch==t.length&&(e=new rt(e.line,e.ch-1)),0<e.ch?(e=new rt(e.line,e.ch+1),l.replaceRange(t.charAt(e.ch-1)+t.charAt(e.ch-2),rt(e.line,e.ch-2),e,\"+transpose\")):e.line>l.doc.first&&((n=$e(l.doc,e.line-1).text)&&(e=new rt(e.line,1),l.replaceRange(t.charAt(0)+l.doc.lineSeparator()+n.charAt(n.length-1),rt(e.line-1,n.length-1),e,\"+transpose\")))),i.push(new oi(e,e)));l.setSelections(i)})},newlineAndIndent:function(r){return Er(r,function(){for(var e=r.listSelections(),t=e.length-1;0<=t;t--)r.replaceRange(r.doc.lineSeparator(),e[t].anchor,e[t].head,\"+input\");e=r.listSelections();for(var n=0;n<e.length;n++)r.indentLine(e[n].from().line,null,!0);wr(r)})},openLine:function(e){return e.replaceSelection(\"\\n\",\"start\")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function Ro(e,t){var n=$e(e.doc,t),r=zt(n);return r!=n&&(t=Je(r)),Eo(!0,e,r,t,1)}function zo(e,t){var n=Ro(e,t.line),r=$e(e.doc,n.line),e=me(r,e.doc.direction);if(e&&0!=e[0].level)return n;r=Math.max(n.ch,r.text.search(/\\S/)),t=t.line==n.line&&t.ch<=r&&t.ch;return rt(n.line,t?0:r,n.sticky)}function Bo(e,t,n){if(\"string\"==typeof t&&!(t=Io[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=B}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}var Go=new I;function Uo(e,t,n,r){var i=e.state.keySeq;if(i){if(No(t))return\"handled\";if(/\\'$/.test(t)?e.state.keySeq=null:Go.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),Vo(e,i+\" \"+t,n,r))return!0}return Vo(e,t,n,r)}function Vo(e,t,n,r){r=function(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Mo(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Mo(t,e.options.extraKeys,n,e)||Mo(t,e.options.keyMap,n,e)}(e,t,r);return\"multi\"==r&&(e.state.keySeq=t),\"handled\"==r&&ln(e,\"keyHandled\",e,t,n),\"handled\"!=r&&\"multi\"!=r||(Te(n),cr(e)),!!r}function Ko(t,e){var n=Oo(e,!0);return!!n&&(e.shiftKey&&!t.state.keySeq?Uo(t,\"Shift-\"+n,e,function(e){return Bo(t,e,!0)})||Uo(t,n,e,function(e){if(\"string\"==typeof e?/^go[A-Z]/.test(e):e.motion)return Bo(t,e)}):Uo(t,n,e,function(e){return Bo(t,e)}))}var jo=null;function Xo(e){var t,n,r,i=this;function o(e){18!=e.keyCode&&e.altKey||(L(r,\"CodeMirror-crosshair\"),we(document,\"keyup\",o),we(document,\"mouseover\",o))}e.target&&e.target!=i.display.input.getField()||(i.curOp.focus=O(),Ce(i,e)||(w&&v<11&&27==e.keyCode&&(e.returnValue=!1),t=e.keyCode,i.display.shift=16==t||e.shiftKey,n=Ko(i,e),p&&(jo=n?t:null,!n&&88==t&&!Ie&&(g?e.metaKey:e.ctrlKey)&&i.replaceSelection(\"\",null,\"cut\")),d&&!g&&!n&&46==t&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand(\"cut\"),18!=t||/\\bCodeMirror-crosshair\\b/.test(i.display.lineDiv.className)||(D(r=i.display.lineDiv,\"CodeMirror-crosshair\"),ye(document,\"keyup\",o),ye(document,\"mouseover\",o))))}function Yo(e){16==e.keyCode&&(this.doc.sel.shift=!1),Ce(this,e)}function _o(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||mn(t.display,e)||Ce(t,e)||e.ctrlKey&&!e.altKey||g&&e.metaKey)){var n,r=e.keyCode,i=e.charCode;if(p&&r==jo)return jo=null,void Te(e);p&&(!e.which||e.which<10)&&Ko(t,e)||\"\\b\"!=(i=String.fromCharCode(null==i?r:i))&&(Uo(n=t,\"'\"+i+\"'\",e,function(e){return Bo(n,e,!0)})||t.display.input.onKeyPress(e))}}var $o,qo,Zo=function(e,t,n){this.time=e,this.pos=t,this.button=n};function Qo(e){var t,n,r,i,o,l=this,s=l.display;Ce(l,e)||s.activeTouch&&s.input.supportsTouch()||(s.input.ensurePolled(),s.shift=e.shiftKey,mn(s,e)?f||(s.scroller.draggable=!1,setTimeout(function(){return s.scroller.draggable=!0},100)):tl(l,e)||(t=Jn(l,e),n=De(e),i=t?(r=t,i=n,o=+new Date,qo&&qo.compare(o,r,i)?($o=qo=null,\"triple\"):$o&&$o.compare(o,r,i)?(qo=new Zo(o,r,i),$o=null,\"double\"):($o=new Zo(o,r,i),qo=null,\"single\")):\"single\",window.focus(),1==n&&l.state.selectingText&&l.state.selectingText(e),t&&function(n,e,r,t,i){var o=\"Click\";\"double\"==t?o=\"Double\"+o:\"triple\"==t&&(o=\"Triple\"+o);return Uo(n,Ao(o=(1==e?\"Left\":2==e?\"Middle\":\"Right\")+o,i),i,function(e){if(\"string\"==typeof e&&(e=Io[e]),!e)return!1;var t=!1;try{n.isReadOnly()&&(n.state.suppressEdits=!0),t=e(n,r)!=B}finally{n.state.suppressEdits=!1}return t})}(l,n,t,i,e)||(1==n?t?function(e,t,n,r){w?setTimeout(F(hr,e),0):e.curOp.focus=O();var i,o=function(e,t,n){var r=e.getOption(\"configureMouse\"),i=r?r(e,t,n):{};null==i.unit&&(r=m?n.shiftKey&&n.metaKey:n.altKey,i.unit=r?\"rectangle\":\"single\"==t?\"char\":\"double\"==t?\"word\":\"line\");null!=i.extend&&!e.doc.extend||(i.extend=e.doc.extend||n.shiftKey);null==i.addNew&&(i.addNew=g?n.metaKey:n.ctrlKey);null==i.moveOnDrag&&(i.moveOnDrag=!(g?n.altKey:n.ctrlKey));return i}(e,n,r),l=e.doc.sel;(e.options.dragDrop&&Fe&&!e.isReadOnly()&&\"single\"==n&&-1<(i=l.contains(t))&&(it((i=l.ranges[i]).from(),t)<0||0<t.xRel)&&(0<it(i.to(),t)||t.xRel<0)?function(t,n,r,i){var o=t.display,l=!1,s=Pr(t,function(e){f&&(o.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:dr(t)),we(o.wrapper.ownerDocument,\"mouseup\",s),we(o.wrapper.ownerDocument,\"mousemove\",a),we(o.scroller,\"dragstart\",u),we(o.scroller,\"drop\",s),l||(Te(e),i.addNew||Oi(t.doc,r,null,null,i.extend),f&&!c||w&&9==v?setTimeout(function(){o.wrapper.ownerDocument.body.focus({preventScroll:!0}),o.input.focus()},20):o.input.focus())}),a=function(e){l=l||10<=Math.abs(n.clientX-e.clientX)+Math.abs(n.clientY-e.clientY)},u=function(){return l=!0};f&&(o.scroller.draggable=!0);(t.state.draggingText=s).copy=!i.moveOnDrag,ye(o.wrapper.ownerDocument,\"mouseup\",s),ye(o.wrapper.ownerDocument,\"mousemove\",a),ye(o.scroller,\"dragstart\",u),ye(o.scroller,\"drop\",s),t.state.delayingBlurEvent=!0,setTimeout(function(){return o.input.focus()},20),o.scroller.dragDrop&&o.scroller.dragDrop()}:function(d,e,f,p){w&&dr(d);var l=d.display,g=d.doc;Te(e);var m,v,y=g.sel,t=y.ranges;p.addNew&&!p.extend?(v=g.sel.contains(f),m=-1<v?t[v]:new oi(f,f)):(m=g.sel.primary(),v=g.sel.primIndex);\"rectangle\"==p.unit?(p.addNew||(m=new oi(f,f)),f=Jn(d,e,!0,!0),v=-1):(e=Jo(d,f,p.unit),m=p.extend?Ai(m,e.anchor,e.head,p.extend):e);p.addNew?-1==v?(v=t.length,Ei(g,li(d,t.concat([m]),v),{scroll:!1,origin:\"*mouse\"})):1<t.length&&t[v].empty()&&\"char\"==p.unit&&!p.extend?(Ei(g,li(d,t.slice(0,v).concat(t.slice(v+1)),0),{scroll:!1,origin:\"*mouse\"}),y=g.sel):Wi(g,v,m,U):(Ei(g,new ii([m],v=0),U),y=g.sel);var b=f;function s(e){if(0!=it(b,e))if(b=e,\"rectangle\"==p.unit){for(var t=[],n=d.options.tabSize,r=P($e(g,f.line).text,f.ch,n),i=P($e(g,e.line).text,e.ch,n),o=Math.min(r,i),l=Math.max(r,i),s=Math.min(f.line,e.line),a=Math.min(d.lastLine(),Math.max(f.line,e.line));s<=a;s++){var u=$e(g,s).text,c=K(u,o,n);o==l?t.push(new oi(rt(s,c),rt(s,c))):u.length>c&&t.push(new oi(rt(s,c),rt(s,K(u,l,n))))}t.length||t.push(new oi(f,f)),Ei(g,li(d,y.ranges.slice(0,v).concat(t),v),{origin:\"*mouse\",scroll:!1}),d.scrollIntoView(e)}else{var h,r=m,i=Jo(d,e,p.unit),e=r.anchor,e=0<it(i.anchor,e)?(h=i.head,at(r.from(),i.anchor)):(h=i.anchor,st(r.to(),i.head)),i=y.ranges.slice(0);i[v]=function(e,t){var n=t.anchor,r=t.head,i=$e(e.doc,n.line);if(0==it(n,r)&&n.sticky==r.sticky)return t;var o=me(i);if(!o)return t;var l=le(o,n.ch,n.sticky),s=o[l];if(s.from!=n.ch&&s.to!=n.ch)return t;i=l+(s.from==n.ch==(1!=s.level)?0:1);if(0==i||i==o.length)return t;a=r.line!=n.line?0<(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1):(e=le(o,r.ch,r.sticky),a=e-l||(r.ch-n.ch)*(1==s.level?-1:1),e==i-1||e==i?a<0:0<a);var i=o[i+(a?-1:0)],a=a==(1==i.level),i=a?i.from:i.to,a=a?\"after\":\"before\";return n.ch==i&&n.sticky==a?t:new oi(new rt(n.line,i,a),r)}(d,new oi(ct(g,e),h)),Ei(g,li(d,i,v),U)}}var a=l.wrapper.getBoundingClientRect(),u=0;function n(e){d.state.selectingText=!1,u=1/0,e&&(Te(e),l.input.focus()),we(l.wrapper.ownerDocument,\"mousemove\",r),we(l.wrapper.ownerDocument,\"mouseup\",i),g.history.lastSelOrigin=null}var r=Pr(d,function(e){(0!==e.buttons&&De(e)?function e(t){var n,r,i=++u,o=Jn(d,t,!0,\"rectangle\"==p.unit);o&&(0!=it(o,b)?(d.curOp.focus=O(),s(o),n=vr(l,g),(o.line>=n.to||o.line<n.from)&&setTimeout(Pr(d,function(){u==i&&e(t)}),150)):(r=t.clientY<a.top?-20:t.clientY>a.bottom?20:0)&&setTimeout(Pr(d,function(){u==i&&(l.scroller.scrollTop+=r,e(t))}),50))}:n)(e)}),i=Pr(d,n);d.state.selectingText=i,ye(l.wrapper.ownerDocument,\"mousemove\",r),ye(l.wrapper.ownerDocument,\"mouseup\",i)})(e,r,t,o)}(l,t,i,e):Oe(e)==s.scroller&&Te(e):2==n?(t&&Oi(l.doc,t),setTimeout(function(){return s.input.focus()},20)):3==n&&(x?l.display.input.onContextMenu(e):dr(l)))))}function Jo(e,t,n){if(\"char\"==n)return new oi(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new oi(rt(t.line,0),ct(e.doc,rt(t.line+1,0)));t=n(e,t);return new oi(t.from,t.to)}function el(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&Te(t);var l=e.display,r=l.lineDiv.getBoundingClientRect();if(o>r.bottom||!Le(e,n))return Ne(t);o-=r.top-l.viewOffset;for(var s=0;s<e.display.gutterSpecs.length;++s){var a=l.gutters.childNodes[s];if(a&&a.getBoundingClientRect().right>=i)return xe(e,n,e,et(e.doc,o),e.display.gutterSpecs[s].className,t),Ne(t)}}function tl(e,t){return el(e,t,\"gutterClick\",!0)}function nl(e,t){var n,r;mn(e.display,t)||(r=t,Le(n=e,\"gutterContextMenu\")&&el(n,r,\"gutterContextMenu\",!1))||Ce(e,t,\"contextmenu\")||x||e.display.input.onContextMenu(t)}function rl(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),Hn(e)}Zo.prototype.compare=function(e,t,n){return this.time+400>e&&0==it(t,this.pos)&&n==this.button};var il={toString:function(){return\"CodeMirror.Init\"}},ol={},ll={};function sl(e,t,n){!t!=!(n&&n!=il)&&(n=e.display.dragFunctions,(t=t?ye:we)(e.display.scroller,\"dragstart\",n.start),t(e.display.scroller,\"dragenter\",n.enter),t(e.display.scroller,\"dragover\",n.over),t(e.display.scroller,\"dragleave\",n.leave),t(e.display.scroller,\"drop\",n.drop))}function al(e){e.options.lineWrapping?(D(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(L(e.display.wrapper,\"CodeMirror-wrap\"),jt(e)),Qn(e),tr(e),Hn(e),setTimeout(function(){return Nr(e)},100)}function ul(e,t){var n=this;if(!(this instanceof ul))return new ul(e,t);this.options=t=t?E(t):{},E(ol,t,!1);var r=t.value;\"string\"==typeof r?r=new ho(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i,o=new ul.inputStyles[t.inputStyle](this),o=this.display=new Qr(e,r,o,t);for(i in rl(o.wrapper.CodeMirror=this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),Dr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new I,keySeq:null,specialChars:null},t.autofocus&&!h&&o.input.focus(),w&&v<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(r){var i=r.display;ye(i.scroller,\"mousedown\",Pr(r,Qo)),ye(i.scroller,\"dblclick\",w&&v<11?Pr(r,function(e){var t;Ce(r,e)||(!(t=Jn(r,e))||tl(r,e)||mn(r.display,e)||(Te(e),t=r.findWordAt(t),Oi(r.doc,t.anchor,t.head)))}):function(e){return Ce(r,e)||Te(e)});ye(i.scroller,\"contextmenu\",function(e){return nl(r,e)}),ye(i.input.getField(),\"contextmenu\",function(e){i.scroller.contains(e.target)||nl(r,e)});var n,o={end:0};function l(){i.activeTouch&&(n=setTimeout(function(){return i.activeTouch=null},1e3),(o=i.activeTouch).end=+new Date)}function s(e,t){if(null==t.left)return 1;var n=t.left-e.left,e=t.top-e.top;return 400<n*n+e*e}ye(i.scroller,\"touchstart\",function(e){var t;Ce(r,e)||function(e){if(1==e.touches.length){e=e.touches[0];return e.radiusX<=1&&e.radiusY<=1}}(e)||tl(r,e)||(i.input.ensurePolled(),clearTimeout(n),t=+new Date,i.activeTouch={start:t,moved:!1,prev:t-o.end<=300?o:null},1==e.touches.length&&(i.activeTouch.left=e.touches[0].pageX,i.activeTouch.top=e.touches[0].pageY))}),ye(i.scroller,\"touchmove\",function(){i.activeTouch&&(i.activeTouch.moved=!0)}),ye(i.scroller,\"touchend\",function(e){var t,n=i.activeTouch;n&&!mn(i,e)&&null!=n.left&&!n.moved&&new Date-n.start<300&&(t=r.coordsChar(i.activeTouch,\"page\"),t=!n.prev||s(n,n.prev)?new oi(t,t):!n.prev.prev||s(n,n.prev.prev)?r.findWordAt(t):new oi(rt(t.line,0),ct(r.doc,rt(t.line+1,0))),r.setSelection(t.anchor,t.head),r.focus(),Te(e)),l()}),ye(i.scroller,\"touchcancel\",l),ye(i.scroller,\"scroll\",function(){i.scroller.clientHeight&&(Lr(r,i.scroller.scrollTop),Tr(r,i.scroller.scrollLeft,!0),xe(r,\"scroll\",r))}),ye(i.scroller,\"mousewheel\",function(e){return ri(r,e)}),ye(i.scroller,\"DOMMouseScroll\",function(e){return ri(r,e)}),ye(i.wrapper,\"scroll\",function(){return i.wrapper.scrollTop=i.wrapper.scrollLeft=0}),i.dragFunctions={enter:function(e){Ce(r,e)||Ae(e)},over:function(e){var t,n;Ce(r,e)||((n=Jn(t=r,n=e))&&(ar(t,n,n=document.createDocumentFragment()),t.display.dragCursor||(t.display.dragCursor=M(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),T(t.display.dragCursor,n)),Ae(e))},start:function(e){return t=r,n=e,void(w&&(!t.state.draggingText||+new Date-fo<100)?Ae(n):Ce(t,n)||mn(t.display,n)||(n.dataTransfer.setData(\"Text\",t.getSelection()),n.dataTransfer.effectAllowed=\"copyMove\",n.dataTransfer.setDragImage&&!c&&((e=M(\"img\",null,null,\"position: fixed; left: 0; top: 0;\")).src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",p&&(e.width=e.height=1,t.display.wrapper.appendChild(e),e._top=e.offsetTop),n.dataTransfer.setDragImage(e,0,0),p&&e.parentNode.removeChild(e))));var t,n},drop:Pr(r,po),leave:function(e){Ce(r,e)||go(r)}};var e=i.input.getField();ye(e,\"keyup\",function(e){return Yo.call(r,e)}),ye(e,\"keydown\",Pr(r,Xo)),ye(e,\"keypress\",Pr(r,_o)),ye(e,\"focus\",function(e){return fr(r,e)}),ye(e,\"blur\",function(e){return pr(r,e)})}(this),yo(),Hr(this),this.curOp.forceUpdate=!0,vi(this,r),t.autofocus&&!h||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&fr(n)},20):pr(this),ll)ll.hasOwnProperty(i)&&ll[i](this,t[i],il);_r(this),t.finishInit&&t.finishInit(this);for(var l=0;l<cl.length;++l)cl[l](this);Fr(this),f&&t.lineWrapping&&\"optimizelegibility\"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering=\"auto\")}ul.defaults=ol,ul.optionHandlers=ll;var cl=[];function hl(e,t,n,r){var i,o=e.doc;null==n&&(n=\"add\"),\"smart\"==n&&(o.mode.indent?i=mt(e,t).state:n=\"prev\");var l=e.options.tabSize,s=$e(o,t),a=P(s.text,null,l);s.stateAfter&&(s.stateAfter=null);var u,c=s.text.match(/^\\s*/)[0];if(r||/\\S/.test(s.text)){if(\"smart\"==n&&((u=o.mode.indent(i,s.text.slice(c.length),s.text))==B||150<u)){if(!r)return;n=\"prev\"}}else u=0,n=\"not\";\"prev\"==n?u=t>o.first?P($e(o,t-1).text,null,l):0:\"add\"==n?u=a+e.options.indentUnit:\"subtract\"==n?u=a-e.options.indentUnit:\"number\"==typeof n&&(u=a+n),u=Math.max(0,u);var h=\"\",d=0;if(e.options.indentWithTabs)for(var f=Math.floor(u/l);f;--f)d+=l,h+=\"\\t\";if(d<u&&(h+=X(u-d)),h!=c)return qi(o,h,rt(t,0),rt(t,c.length),\"+input\"),!(s.stateAfter=null);for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==t&&g.head.ch<c.length){g=rt(t,c.length);Wi(o,p,new oi(g,g));break}}}ul.defineInitHook=function(e){return cl.push(e)};var dl=null;function fl(e){dl=e}function pl(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r=r||o.sel;var l=+new Date-200,s=\"paste\"==i||e.state.pasteIncoming>l,a=Ee(t),u=null;if(s&&1<r.ranges.length)if(dl&&dl.text.join(\"\\n\")==t){if(r.ranges.length%dl.text.length==0){u=[];for(var c=0;c<dl.text.length;c++)u.push(o.splitLines(dl.text[c]))}}else a.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(u=_(a,function(e){return[e]}));for(var h=e.curOp.updateInput,d=r.ranges.length-1;0<=d;d--){var f=r.ranges[d],p=f.from(),g=f.to();f.empty()&&(n&&0<n?p=rt(p.line,p.ch-n):e.state.overwrite&&!s?g=rt(g.line,Math.min($e(o,g.line).text.length,g.ch+Y(a).length)):s&&dl&&dl.lineWise&&dl.text.join(\"\\n\")==a.join(\"\\n\")&&(p=g=rt(p.line,0)));g={from:p,to:g,text:u?u[d%u.length]:a,origin:i||(s?\"paste\":e.state.cutIncoming>l?\"cut\":\"+input\")};ji(e.doc,g),ln(e,\"inputRead\",e,g)}t&&!s&&ml(e,t),wr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function gl(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");return n&&(e.preventDefault(),t.isReadOnly()||t.options.disableInput||Er(t,function(){return pl(t,n,0,null,\"paste\")}),1)}function ml(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;0<=r;r--){var i=n.ranges[r];if(!(100<i.head.ch||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(-1<t.indexOf(o.electricChars.charAt(s))){l=hl(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test($e(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=hl(e,i.head.line,\"smart\"));l&&ln(e,\"electricInput\",e,i.head.line)}}}function vl(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,i={anchor:rt(i,0),head:rt(i+1,0)};n.push(i),t.push(e.getRange(i.anchor,i.head))}return{text:t,ranges:n}}function yl(e,t,n,r){e.setAttribute(\"autocorrect\",n?\"\":\"off\"),e.setAttribute(\"autocapitalize\",r?\"\":\"off\"),e.setAttribute(\"spellcheck\",!!t)}function bl(){var e=M(\"textarea\",null,null,\"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\"),t=M(\"div\",[e],null,\"overflow: hidden; position: relative; width: 3px; height: 0px;\");return f?e.style.width=\"1000px\":e.setAttribute(\"wrap\",\"off\"),s&&(e.style.border=\"1px solid black\"),yl(e),t}function wl(r,i,o,l,s){var e=i,t=o,a=$e(r,i.line),u=s&&\"rtl\"==r.direction?-o:o;function n(e){var t,n;if(null==(t=\"codepoint\"==l?(t=a.text.charCodeAt(i.ch+(0<l?0:-1)),isNaN(t)?null:new rt(i.line,Math.max(0,Math.min(a.text.length,i.ch+o*(55296<=t&&t<56320?2:1))),-o)):s?Po(r.cm,a,i,o):Fo(a,i,o))){if(e||(n=i.line+u)<r.first||n>=r.first+r.size||(i=new rt(n,i.ch,i.sticky),!(a=$e(r,n))))return;i=Eo(s,r.cm,a,i.line,u)}else i=t;return 1}if(\"char\"==l||\"codepoint\"==l)n();else if(\"column\"==l)n(!0);else if(\"word\"==l||\"group\"==l)for(var c=null,h=\"group\"==l,d=r.cm&&r.cm.getHelper(i,\"wordChars\"),f=!0;!(o<0)||n(!f);f=!1){var p=a.text.charAt(i.ch)||\"\\n\",p=J(p,d)?\"w\":h&&\"\\n\"==p?\"n\":!h||/\\s/.test(p)?null:\"p\";if(!h||f||p||(p=\"s\"),c&&c!=p){o<0&&(o=1,n(),i.sticky=\"after\");break}if(p&&(c=p),0<o&&!n(!f))break}t=Gi(r,i,e,t,!0);return ot(e,t)&&(t.hitSide=!0),t}function xl(e,t,n,r){var i,o,l,s=e.doc,a=t.left;for(\"page\"==r?(i=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),i=Math.max(i-.5*Yn(e.display),3),o=(0<n?t.bottom:t.top)+n*i):\"line\"==r&&(o=0<n?t.bottom+3:t.top-3);(l=Vn(e,a,o)).outside;){if(n<0?o<=0:o>=s.height){l.hitSide=!0;break}o+=5*n}return l}e=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new I,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Cl(e,t){var n=kn(e,t.line);if(!n||n.hidden)return null;var r=$e(e.doc,t.line),n=Sn(n,r,t.line),r=me(r,e.doc.direction),e=\"left\";r&&(e=le(r,t.ch)%2?\"right\":\"left\");e=On(n.map,t.ch,e);return e.offset=\"right\"==e.collapse?e.end:e.start,e}function Sl(e,t){return t&&(e.bad=!0),e}function Ll(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Sl(e.clipPos(rt(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return function(u,e,t){var n=u.text.firstChild,r=!1;if(!e||!A(n,e))return Sl(rt(Je(u.line),0),!0);if(e==n&&(r=!0,e=n.childNodes[t],t=0,!e)){var i=u.rest?Y(u.rest):u.line;return Sl(rt(Je(i),i.text.length),r)}var i=3==e.nodeType?e:null,o=e;i||1!=e.childNodes.length||3!=e.firstChild.nodeType||(i=e.firstChild,t=t&&i.nodeValue.length);for(;o.parentNode!=n;)o=o.parentNode;var c=u.measure,h=c.maps;function l(e,t,n){for(var r=-1;r<(h?h.length:0);r++)for(var i=r<0?c.map:h[r],o=0;o<i.length;o+=3){var l=i[o+2];if(l==e||l==t){var s=Je(r<0?u.line:u.rest[r]),a=i[o]+n;return(n<0||l!=e)&&(a=i[o+(n?1:0)]),rt(s,a)}}}var s=l(i,o,t);if(s)return Sl(s,r);for(var a=o.nextSibling,d=i?i.nodeValue.length-t:0;a;a=a.nextSibling){if(s=l(a,a.firstChild,0))return Sl(rt(s.line,s.ch-d),r);d+=a.textContent.length}for(var f=o.previousSibling,p=t;f;f=f.previousSibling){if(s=l(f,f.firstChild,-1))return Sl(rt(s.line,s.ch+p),r);p+=f.textContent.length}}(o,t,n)}}e.prototype.init=function(e){var t=this,o=this,l=o.cm,s=o.div=e.lineDiv;function a(e){for(var t=e.target;t;t=t.parentNode){if(t==s)return 1;if(/\\bCodeMirror-(?:line)?widget\\b/.test(t.className))break}}function n(e){if(a(e)&&!Ce(l,e)){if(l.somethingSelected())fl({lineWise:!1,text:l.getSelections()}),\"cut\"==e.type&&l.replaceSelection(\"\",null,\"cut\");else{if(!l.options.lineWiseCopyCut)return;var t=vl(l);fl({lineWise:!0,text:t.text}),\"cut\"==e.type&&l.operation(function(){l.setSelections(t.ranges,0,G),l.replaceSelection(\"\",null,\"cut\")})}if(e.clipboardData){e.clipboardData.clearData();var n=dl.text.join(\"\\n\");if(e.clipboardData.setData(\"Text\",n),e.clipboardData.getData(\"Text\")==n)return void e.preventDefault()}var r=bl(),e=r.firstChild;l.display.lineSpace.insertBefore(r,l.display.lineSpace.firstChild),e.value=dl.text.join(\"\\n\");var i=document.activeElement;H(e),setTimeout(function(){l.display.lineSpace.removeChild(r),i.focus(),i==s&&o.showPrimarySelection()},50)}}yl(s,l.options.spellcheck,l.options.autocorrect,l.options.autocapitalize),ye(s,\"paste\",function(e){!a(e)||Ce(l,e)||gl(e,l)||v<=11&&setTimeout(Pr(l,function(){return t.updateFromDOM()}),20)}),ye(s,\"compositionstart\",function(e){t.composing={data:e.data,done:!1}}),ye(s,\"compositionupdate\",function(e){t.composing||(t.composing={data:e.data,done:!1})}),ye(s,\"compositionend\",function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),ye(s,\"touchstart\",function(){return o.forceCompositionEnd()}),ye(s,\"input\",function(){t.composing||t.readFromDOMSoon()}),ye(s,\"copy\",n),ye(s,\"cut\",n)},e.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute(\"aria-label\",e):this.div.removeAttribute(\"aria-label\")},e.prototype.prepareSelection=function(){var e=sr(this.cm,!1);return e.focus=document.activeElement==this.div,e},e.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},e.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},e.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line<t.display.viewFrom)e.removeAllRanges();else{var o=Ll(t,e.anchorNode,e.anchorOffset),n=Ll(t,e.focusNode,e.focusOffset);if(!o||o.bad||!n||n.bad||0!=it(at(o,n),r)||0!=it(st(o,n),i)){var n=t.display.view,l=r.line>=t.display.viewFrom&&Cl(t,r)||{node:n[0].measure.map[2],offset:0},s=i.line<t.display.viewTo&&Cl(t,i);if(s||(s={node:(u=(u=n[n.length-1].measure).maps?u.maps[u.maps.length-1]:u.map)[u.length-1],offset:u[u.length-2]-u[u.length-3]}),l&&s){var a,u=e.rangeCount&&e.getRangeAt(0);try{a=S(l.node,l.offset,s.offset,s.node)}catch(e){}a&&(!d&&t.state.focused?(e.collapse(l.node,l.offset),a.collapsed||(e.removeAllRanges(),e.addRange(a))):(e.removeAllRanges(),e.addRange(a)),u&&null==e.anchorNode?e.addRange(u):d&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},e.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},e.prototype.showMultipleSelections=function(e){T(this.cm.display.cursorDiv,e.cursors),T(this.cm.display.selectionDiv,e.selection)},e.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},e.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;e=e.getRangeAt(0).commonAncestorContainer;return A(this.div,e)},e.prototype.focus=function(){\"nocursor\"!=this.cm.options.readOnly&&(this.selectionInEditor()&&document.activeElement==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},e.prototype.blur=function(){this.div.blur()},e.prototype.getField=function(){return this.div},e.prototype.supportsTouch=function(){return!0},e.prototype.receivedFocus=function(){var t=this;this.selectionInEditor()?this.pollSelection():Er(this.cm,function(){return t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))})},e.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},e.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e,t,n=this.getSelection(),r=this.cm;if(a&&o&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(n.anchorNode))return this.cm.triggerOnKeyDown({type:\"keydown\",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();this.composing||(this.rememberSelection(),e=Ll(r,n.anchorNode,n.anchorOffset),t=Ll(r,n.focusNode,n.focusOffset),e&&t&&Er(r,function(){Ei(r.doc,si(e,t),G),(e.bad||t.bad)&&(r.curOp.selectionChanged=!0)}))}},e.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t=this.cm,n=t.display,r=t.doc.sel.primary(),i=r.from(),r=r.to();if(0==i.ch&&i.line>t.firstLine()&&(i=rt(i.line-1,$e(t.doc,i.line-1).length)),r.ch==$e(t.doc,r.line).text.length&&r.line<t.lastLine()&&(r=rt(r.line+1,0)),i.line<n.viewFrom||r.line>n.viewTo-1)return!1;m=i.line==n.viewFrom||0==(m=er(t,i.line))?(e=Je(n.view[0].line),n.view[0].node):(e=Je(n.view[m].line),n.view[m-1].node.nextSibling);var o,r=er(t,r.line),r=r==n.view.length-1?(o=n.viewTo-1,n.lineDiv.lastChild):(o=Je(n.view[r+1].line)-1,n.view[r+1].node.previousSibling);if(!m)return!1;for(var l=t.doc.splitLines(function(l,e,t,s,a){var n=\"\",u=!1,c=l.doc.lineSeparator(),h=!1;function d(){u&&(n+=c,h&&(n+=c),u=h=!1)}function f(e){e&&(d(),n+=e)}for(;!function e(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)f(n);else if(n=t.getAttribute(\"cm-marker\"))(n=l.findMarks(rt(s,0),rt(a+1,0),(o=+n,function(e){return e.id==o}))).length&&(r=n[0].find(0))&&f(qe(l.doc,r.from,r.to).join(c));else if(\"false\"!=t.getAttribute(\"contenteditable\")){var r=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(/^br$/i.test(t.nodeName)||0!=t.textContent.length){r&&d();for(var i=0;i<t.childNodes.length;i++)e(t.childNodes[i]);/^(pre|p)$/i.test(t.nodeName)&&(h=!0),r&&(u=!0)}}}else 3==t.nodeType&&f(t.nodeValue.replace(/\\u200b/g,\"\").replace(/\\u00a0/g,\" \"));var o}(e),e!=t;)e=e.nextSibling,h=!1;return n}(t,m,r,e,o)),s=qe(t.doc,rt(e,0),rt(o,$e(t.doc,o).text.length));1<l.length&&1<s.length;)if(Y(l)==Y(s))l.pop(),s.pop(),o--;else{if(l[0]!=s[0])break;l.shift(),s.shift(),e++}for(var a=0,u=0,c=l[0],h=s[0],d=Math.min(c.length,h.length);a<d&&c.charCodeAt(a)==h.charCodeAt(a);)++a;for(var f=Y(l),p=Y(s),g=Math.min(f.length-(1==l.length?a:0),p.length-(1==s.length?a:0));u<g&&f.charCodeAt(f.length-u-1)==p.charCodeAt(p.length-u-1);)++u;if(1==l.length&&1==s.length&&e==i.line)for(;a&&a>i.ch&&f.charCodeAt(f.length-u-1)==p.charCodeAt(p.length-u-1);)a--,u++;l[l.length-1]=f.slice(0,f.length-u).replace(/^\\u200b+/,\"\"),l[0]=l[0].slice(a).replace(/\\u200b+$/,\"\");var m=rt(e,a),r=rt(o,s.length?Y(s).length-u:0);return 1<l.length||l[0]||it(m,r)?(qi(t.doc,l,m,r,\"+input\"),!0):void 0},e.prototype.ensurePolled=function(){this.forceCompositionEnd()},e.prototype.reset=function(){this.forceCompositionEnd()},e.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},e.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},e.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Er(this.cm,function(){return tr(e.cm)})},e.prototype.setUneditable=function(e){e.contentEditable=\"false\"},e.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Pr(this.cm,pl)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},e.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},e.prototype.onContextMenu=function(){},e.prototype.resetPosition=function(){},e.prototype.needsContentAttribute=!0;var kl,Tl,Ml,Nl,Al,r=function(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new I,this.hasSelection=!1,this.composing=null};function Ol(e,t,r,n){kl.defaults[e]=t,r&&(Tl[e]=n?function(e,t,n){n!=il&&r(e,t,n)}:r)}r.prototype.init=function(n){var e=this,r=this,i=this.cm;this.createField(n);var o=this.textarea;function t(e){if(!Ce(i,e)){if(i.somethingSelected())fl({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=vl(i);fl({lineWise:!0,text:t.text}),\"cut\"==e.type?i.setSelections(t.ranges,null,G):(r.prevInput=\"\",o.value=t.text.join(\"\\n\"),H(o))}\"cut\"==e.type&&(i.state.cutIncoming=+new Date)}}n.wrapper.insertBefore(this.wrapper,n.wrapper.firstChild),s&&(o.style.width=\"0px\"),ye(o,\"input\",function(){w&&9<=v&&e.hasSelection&&(e.hasSelection=null),r.poll()}),ye(o,\"paste\",function(e){Ce(i,e)||gl(e,i)||(i.state.pasteIncoming=+new Date,r.fastPoll())}),ye(o,\"cut\",t),ye(o,\"copy\",t),ye(n.scroller,\"paste\",function(e){if(!mn(n,e)&&!Ce(i,e)){if(!o.dispatchEvent)return i.state.pasteIncoming=+new Date,void r.focus();var t=new Event(\"paste\");t.clipboardData=e.clipboardData,o.dispatchEvent(t)}}),ye(n.lineSpace,\"selectstart\",function(e){mn(n,e)||Te(e)}),ye(o,\"compositionstart\",function(){var e=i.getCursor(\"from\");r.composing&&r.composing.range.clear(),r.composing={start:e,range:i.markText(e,i.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}}),ye(o,\"compositionend\",function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)})},r.prototype.createField=function(e){this.wrapper=bl(),this.textarea=this.wrapper.firstChild},r.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute(\"aria-label\",e):this.textarea.removeAttribute(\"aria-label\")},r.prototype.prepareSelection=function(){var e,t=this.cm,n=t.display,r=t.doc,i=sr(t);return t.options.moveInputWithCursor&&(e=Bn(t,r.sel.primary().head,\"div\"),t=n.wrapper.getBoundingClientRect(),r=n.lineDiv.getBoundingClientRect(),i.teTop=Math.max(0,Math.min(n.wrapper.clientHeight-10,e.top+r.top-t.top)),i.teLeft=Math.max(0,Math.min(n.wrapper.clientWidth-10,e.left+r.left-t.left))),i},r.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},r.prototype.reset=function(e){var t,n;this.contextMenuPending||this.composing||((t=this.cm).somethingSelected()?(this.prevInput=\"\",n=t.getSelection(),this.textarea.value=n,t.state.focused&&H(this.textarea),w&&9<=v&&(this.hasSelection=n)):e||(this.prevInput=this.textarea.value=\"\",w&&9<=v&&(this.hasSelection=null)))},r.prototype.getField=function(){return this.textarea},r.prototype.supportsTouch=function(){return!1},r.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!h||O()!=this.textarea))try{this.textarea.focus()}catch(e){}},r.prototype.blur=function(){this.textarea.blur()},r.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},r.prototype.receivedFocus=function(){this.slowPoll()},r.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},r.prototype.fastPoll=function(){var t=!1,n=this;n.pollingFast=!0,n.polling.set(20,function e(){n.poll()||t?(n.pollingFast=!1,n.slowPoll()):(t=!0,n.polling.set(60,e))})},r.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Pe(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(w&&9<=v&&this.hasSelection===i||g&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var l=0,s=Math.min(r.length,i.length);l<s&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return Er(t,function(){pl(t,i.slice(l),r.length-l,null,e.composing?\"*compose\":null),1e3<i.length||-1<i.indexOf(\"\\n\")?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))}),!0},r.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},r.prototype.onKeyPress=function(){w&&9<=v&&(this.hasSelection=null),this.fastPoll()},r.prototype.onContextMenu=function(e){var n=this,r=n.cm,i=r.display,o=n.textarea;n.contextMenuPending&&n.contextMenuPending();var l,s,t,a,u=Jn(r,e),c=i.scroller.scrollTop;function h(){var e,t;null!=o.selectionStart&&(t=\"\"+((e=r.somethingSelected())?o.value:\"\"),o.value=\"⇚\",o.value=t,n.prevInput=e?\"\":\"\",o.selectionStart=1,o.selectionEnd=t.length,i.selForContextMenu=r.doc.sel)}function d(){var e,t;n.contextMenuPending==d&&(n.contextMenuPending=!1,n.wrapper.style.cssText=s,o.style.cssText=l,w&&v<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=c),null!=o.selectionStart&&((!w||w&&v<9)&&h(),e=0,t=function(){i.selForContextMenu==r.doc.sel&&0==o.selectionStart&&0<o.selectionEnd&&\"\"==n.prevInput?Pr(r,Vi)(r):e++<10?i.detectingSelectAll=setTimeout(t,500):(i.selForContextMenu=null,i.input.reset())},i.detectingSelectAll=setTimeout(t,200)))}u&&!p&&(r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(u)&&Pr(r,Ei)(r.doc,si(u),G),l=o.style.cssText,s=n.wrapper.style.cssText,u=n.wrapper.offsetParent.getBoundingClientRect(),n.wrapper.style.cssText=\"position: static\",o.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n top: \"+(e.clientY-u.top-5)+\"px; left: \"+(e.clientX-u.left-5)+\"px;\\n z-index: 1000; background: \"+(w?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",f&&(t=window.scrollY),i.input.focus(),f&&window.scrollTo(null,t),i.input.reset(),r.somethingSelected()||(o.value=n.prevInput=\" \"),n.contextMenuPending=d,i.selForContextMenu=r.doc.sel,clearTimeout(i.detectingSelectAll),w&&9<=v&&h(),x?(Ae(e),a=function(){we(window,\"mouseup\",a),setTimeout(d,20)},ye(window,\"mouseup\",a)):setTimeout(d,50))},r.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e,this.textarea.readOnly=!!e},r.prototype.setUneditable=function(){},r.prototype.needsContentAttribute=!1,Tl=(kl=ul).optionHandlers,kl.defineOption=Ol,kl.Init=il,Ol(\"value\",\"\",function(e,t){return e.setValue(t)},!0),Ol(\"mode\",null,function(e,t){e.doc.modeOption=t,di(e)},!0),Ol(\"indentUnit\",2,di,!0),Ol(\"indentWithTabs\",!1),Ol(\"smartIndent\",!0),Ol(\"tabSize\",4,function(e){fi(e),Hn(e),tr(e)},!0),Ol(\"lineSeparator\",null,function(e,r){if(e.doc.lineSep=r){var i=[],o=e.doc.first;e.doc.iter(function(e){for(var t=0;;){var n=e.text.indexOf(r,t);if(-1==n)break;t=n+r.length,i.push(rt(o,n))}o++});for(var t=i.length-1;0<=t;t--)qi(e.doc,r,i[t],rt(i[t].line,i[t].ch+r.length))}}),Ol(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200c\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=il&&e.refresh()}),Ol(\"specialCharPlaceholder\",Zt,function(e){return e.refresh()},!0),Ol(\"electricChars\",!0),Ol(\"inputStyle\",h?\"contenteditable\":\"textarea\",function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")},!0),Ol(\"spellcheck\",!1,function(e,t){return e.getInputField().spellcheck=t},!0),Ol(\"autocorrect\",!1,function(e,t){return e.getInputField().autocorrect=t},!0),Ol(\"autocapitalize\",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),Ol(\"rtlMoveVisually\",!y),Ol(\"wholeLineUpdateBefore\",!0),Ol(\"theme\",\"default\",function(e){rl(e),Zr(e)},!0),Ol(\"keyMap\",\"default\",function(e,t,n){t=Do(t),n=n!=il&&Do(n);n&&n.detach&&n.detach(e,t),t.attach&&t.attach(e,n||null)}),Ol(\"extraKeys\",null),Ol(\"configureMouse\",null),Ol(\"lineWrapping\",!1,al,!0),Ol(\"gutters\",[],function(e,t){e.display.gutterSpecs=$r(t,e.options.lineNumbers),Zr(e)},!0),Ol(\"fixedGutter\",!0,function(e,t){e.display.gutters.style.left=t?qn(e.display)+\"px\":\"0\",e.refresh()},!0),Ol(\"coverGutterNextToScrollbar\",!1,function(e){return Nr(e)},!0),Ol(\"scrollbarStyle\",\"native\",function(e){Dr(e),Nr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),Ol(\"lineNumbers\",!1,function(e,t){e.display.gutterSpecs=$r(e.options.gutters,t),Zr(e)},!0),Ol(\"firstLineNumber\",1,Zr,!0),Ol(\"lineNumberFormatter\",function(e){return e},Zr,!0),Ol(\"showCursorWhenSelecting\",!1,lr,!0),Ol(\"resetSelectionOnContextMenu\",!0),Ol(\"lineWiseCopyCut\",!0),Ol(\"pasteLinesPerSelection\",!0),Ol(\"selectionsMayTouch\",!1),Ol(\"readOnly\",!1,function(e,t){\"nocursor\"==t&&(pr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),Ol(\"screenReaderLabel\",null,function(e,t){t=\"\"===t?null:t,e.display.input.screenReaderLabelChanged(t)}),Ol(\"disableInput\",!1,function(e,t){t||e.display.input.reset()},!0),Ol(\"dragDrop\",!0,sl),Ol(\"allowDropFileTypes\",null),Ol(\"cursorBlinkRate\",530),Ol(\"cursorScrollMargin\",0),Ol(\"cursorHeight\",1,lr,!0),Ol(\"singleCursorHeightPerLine\",!0,lr,!0),Ol(\"workTime\",100),Ol(\"workDelay\",100),Ol(\"flattenSpans\",!0,fi,!0),Ol(\"addModeClass\",!1,fi,!0),Ol(\"pollInterval\",100),Ol(\"undoDepth\",200,function(e,t){return e.doc.history.undoDepth=t}),Ol(\"historyEventDelay\",1250),Ol(\"viewportMargin\",10,function(e){return e.refresh()},!0),Ol(\"maxHighlightLength\",1e4,fi,!0),Ol(\"moveInputWithCursor\",!0,function(e,t){t||e.display.input.resetPosition()}),Ol(\"tabindex\",null,function(e,t){return e.display.input.getField().tabIndex=t||\"\"}),Ol(\"autofocus\",null),Ol(\"direction\",\"ltr\",function(e,t){return e.doc.setDirection(t)},!0),Ol(\"phrases\",null),Nl=(Ml=ul).optionHandlers,Al=Ml.helpers={},Ml.prototype={constructor:Ml,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,t){var n=this.options,r=n[e];n[e]==t&&\"mode\"!=e||(n[e]=t,Nl.hasOwnProperty(e)&&Pr(this,Nl[e])(this,t,r),xe(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Do(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:Ir(function(e,t){var n=e.token?e:Ml.getMode(this.options,e);if(n.startState)throw new Error(\"Overlays may not be stateful.\");!function(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}(this.state.overlays,{mode:n,modeSpec:e,opaque:t&&t.opaque,priority:t&&t.priority||0},function(e){return e.priority}),this.state.modeGen++,tr(this)}),removeOverlay:Ir(function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||\"string\"==typeof e&&r.name==e)return t.splice(n,1),this.state.modeGen++,void tr(this)}}),indentLine:Ir(function(e,t,n){\"string\"!=typeof t&&\"number\"!=typeof t&&(t=null==t?this.options.smartIndent?\"smart\":\"prev\":t?\"add\":\"subtract\"),tt(this.doc,e)&&hl(this,e,t,n)}),indentSelection:Ir(function(e){for(var t=this.doc.sel.ranges,n=-1,r=0;r<t.length;r++){var i=t[r];if(i.empty())i.head.line>n&&(hl(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&wr(this));else{for(var o=i.from(),l=i.to(),i=Math.max(n,o.line),n=Math.min(this.lastLine(),l.line-(l.ch?0:1))+1,s=i;s<n;++s)hl(this,s,e);i=this.doc.sel.ranges;0==o.ch&&t.length==i.length&&0<i[r].from().ch&&Wi(this.doc,r,new oi(o,i[r].to()),G)}}}),getTokenAt:function(e,t){return xt(this,e,t)},getLineTokens:function(e,t){return xt(this,rt(e),t,!0)},getTokenTypeAt:function(e){e=ct(this.doc,e);var t,n=gt(this,$e(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var l=r+i>>1;if((l?n[2*l-1]:0)>=o)i=l;else{if(!(n[2*l+1]<o)){t=n[2*l+2];break}r=1+l}}e=t?t.indexOf(\"overlay \"):-1;return e<0?t:0==e?null:t.slice(0,e-1)},getModeAt:function(e){var t=this.doc.mode;return t.innerMode?Ml.innerMode(t,this.getTokenAt(e).state).mode:t},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!Al.hasOwnProperty(t))return n;var r=Al[t],i=this.getModeAt(e);if(\"string\"==typeof i[t])r[i[t]]&&n.push(r[i[t]]);else if(i[t])for(var o=0;o<i[t].length;o++){var l=r[i[t][o]];l&&n.push(l)}else i.helperType&&r[i.helperType]?n.push(r[i.helperType]):r[i.name]&&n.push(r[i.name]);for(var s=0;s<r._global.length;s++){var a=r._global[s];a.pred(i,this)&&-1==R(n,a.val)&&n.push(a.val)}return n},getStateAfter:function(e,t){var n=this.doc;return mt(this,(e=ut(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary(),n=null==e?n.head:\"object\"==typeof e?ct(this.doc,e):e?n.from():n.to();return Bn(this,n,t||\"page\")},charCoords:function(e,t){return zn(this,ct(this.doc,e),t||\"page\")},coordsChar:function(e,t){return Vn(this,(e=Rn(this,e,t||\"page\")).left,e.top)},lineAtHeight:function(e,t){return e=Rn(this,{top:e,left:0},t||\"page\").top,et(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r,i=!1,e=\"number\"==typeof e?(r=this.doc.first+this.doc.size-1,e<this.doc.first?e=this.doc.first:r<e&&(e=r,i=!0),$e(this.doc,e)):e;return In(this,e,{top:0,left:0},t||\"page\",n||i).top+(i?this.doc.height-Vt(e):0)},defaultTextHeight:function(){return Yn(this.display)},defaultCharWidth:function(){return _n(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,l,s=this.display,a=(e=Bn(this,ct(this.doc,e))).bottom,u=e.left;t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),s.sizer.appendChild(t),\"over\"==r?a=e.top:\"above\"!=r&&\"near\"!=r||(o=Math.max(s.wrapper.clientHeight,this.doc.height),l=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth),(\"above\"==r||e.bottom+t.offsetHeight>o)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=o&&(a=e.bottom),u+t.offsetWidth>l&&(u=l-t.offsetWidth)),t.style.top=a+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(u=s.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?u=0:\"middle\"==i&&(u=(s.sizer.clientWidth-t.offsetWidth)/2),t.style.left=u+\"px\"),n&&(n=this,t={left:u,top:a,right:u+t.offsetWidth,bottom:a+t.offsetHeight},null!=(t=yr(n,t)).scrollTop&&Lr(n,t.scrollTop),null!=t.scrollLeft&&Tr(n,t.scrollLeft))},triggerOnKeyDown:Ir(Xo),triggerOnKeyPress:Ir(_o),triggerOnKeyUp:Yo,triggerOnMouseDown:Ir(Qo),execCommand:function(e){if(Io.hasOwnProperty(e))return Io[e].call(null,this)},triggerElectric:Ir(function(e){ml(this,e)}),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=ct(this.doc,e),l=0;l<t&&!(o=wl(this.doc,o,i,n,r)).hitSide;++l);return o},moveH:Ir(function(t,n){var r=this;this.extendSelectionsBy(function(e){return r.display.shift||r.doc.extend||e.empty()?wl(r.doc,e.head,t,n,r.options.rtlMoveVisually):t<0?e.from():e.to()},V)}),deleteH:Ir(function(n,r){var e=this.doc.sel,i=this.doc;e.somethingSelected()?i.replaceSelection(\"\",null,\"+delete\"):Wo(this,function(e){var t=wl(i,e.head,n,r,!1);return n<0?{from:t,to:e.head}:{from:e.head,to:t}})}),findPosV:function(e,t,n,r){var i=1,o=r;t<0&&(i=-1,t=-t);for(var l=ct(this.doc,e),s=0;s<t;++s){var a=Bn(this,l,\"div\");if(null==o?o=a.left:a.left=o,(l=xl(this,a,i,n)).hitSide)break}return l},moveV:Ir(function(r,i){var o=this,l=this.doc,s=[],a=!this.display.shift&&!l.extend&&l.sel.somethingSelected();if(l.extendSelectionsBy(function(e){if(a)return r<0?e.from():e.to();var t=Bn(o,e.head,\"div\");null!=e.goalColumn&&(t.left=e.goalColumn),s.push(t.left);var n=xl(o,t,r,i);return\"page\"==i&&e==l.sel.primary()&&br(o,zn(o,n,\"div\").top-t.top),n},V),s.length)for(var e=0;e<l.sel.ranges.length;e++)l.sel.ranges[e].goalColumn=s[e]}),findWordAt:function(e){var t=$e(this.doc,e.line).text,n=e.ch,r=e.ch;if(t){var i=this.getHelper(e,\"wordChars\");\"before\"!=e.sticky&&r!=t.length||!n?++r:--n;for(var o=t.charAt(n),l=J(o,i)?function(e){return J(e,i)}:/\\s/.test(o)?function(e){return/\\s/.test(e)}:function(e){return!/\\s/.test(e)&&!J(e)};0<n&&l(t.charAt(n-1));)--n;for(;r<t.length&&l(t.charAt(r));)++r}return new oi(rt(e.line,n),rt(e.line,r))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||(((this.state.overwrite=!this.state.overwrite)?D:L)(this.display.cursorDiv,\"CodeMirror-overwrite\"),xe(this,\"overwriteToggle\",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==O()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:Ir(function(e,t){xr(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-wn(this)-this.display.barHeight,width:e.scrollWidth-wn(this)-this.display.barWidth,clientHeight:Cn(this),clientWidth:xn(this)}},scrollIntoView:Ir(function(e,t){var n;null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):\"number\"==typeof e?e={from:rt(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?(n=e,Cr(t=this),t.curOp.scrollToPos=n):Sr(this,e.from,e.to,e.margin)}),setSize:Ir(function(e,t){function n(e){return\"number\"==typeof e||/^\\d+$/.test(String(e))?e+\"px\":e}var r=this;null!=e&&(this.display.wrapper.style.width=n(e)),null!=t&&(this.display.wrapper.style.height=n(t)),this.options.lineWrapping&&Wn(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){nr(r,i,\"widget\");break}++i}),this.curOp.forceUpdate=!0,xe(this,\"refresh\",this)}),operation:function(e){return Er(this,e)},startOperation:function(){return Hr(this)},endOperation:function(){return Fr(this)},refresh:Ir(function(){var e=this.display.cachedTextHeight;tr(this),this.curOp.forceUpdate=!0,Hn(this),xr(this,this.doc.scrollLeft,this.doc.scrollTop),jr(this.display),(null==e||.5<Math.abs(e-Yn(this.display))||this.options.lineWrapping)&&Qn(this),xe(this,\"refresh\",this)}),swapDoc:Ir(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),vi(this,e),Hn(this),this.display.input.reset(),xr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,ln(this,\"swapDoc\",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ke(Ml),Ml.registerHelper=function(e,t,n){Al.hasOwnProperty(e)||(Al[e]=Ml[e]={_global:[]}),Al[e][t]=n},Ml.registerGlobalHelper=function(e,t,n,r){Ml.registerHelper(e,t,r),Al[e]._global.push({pred:n,val:r})};var Dl,Wl,Hl=\"iter insert remove copy getEditor constructor\".split(\" \");for(Dl in ho.prototype)ho.prototype.hasOwnProperty(Dl)&&R(Hl,Dl)<0&&(ul.prototype[Dl]=function(e){return function(){return e.apply(this.doc,arguments)}}(ho.prototype[Dl]));return ke(ho),ul.inputStyles={textarea:r,contenteditable:e},ul.defineMode=function(e){ul.defaults.mode||\"null\"==e||(ul.defaults.mode=e),function(e,t){2<arguments.length&&(t.dependencies=Array.prototype.slice.call(arguments,2)),ze[e]=t}.apply(this,arguments)},ul.defineMIME=function(e,t){Be[e]=t},ul.defineMode(\"null\",function(){return{token:function(e){return e.skipToEnd()}}}),ul.defineMIME(\"text/plain\",\"null\"),ul.defineExtension=function(e,t){ul.prototype[e]=t},ul.defineDocExtension=function(e,t){ho.prototype[e]=t},ul.fromTextArea=function(t,n){var e;function r(){t.value=s.getValue()}if(n=n?E(n):{},n.value=t.value,!n.tabindex&&t.tabIndex&&(n.tabindex=t.tabIndex),!n.placeholder&&t.placeholder&&(n.placeholder=t.placeholder),null==n.autofocus&&(e=O(),n.autofocus=e==t||null!=t.getAttribute(\"autofocus\")&&e==document.body),t.form&&(ye(t.form,\"submit\",r),!n.leaveSubmitMethodAlone)){var i=t.form,o=i.submit;try{var l=i.submit=function(){r(),i.submit=o,i.submit(),i.submit=l}}catch(e){}}n.finishInit=function(e){e.save=r,e.getTextArea=function(){return t},e.toTextArea=function(){e.toTextArea=isNaN,r(),t.parentNode.removeChild(e.getWrapperElement()),t.style.display=\"\",t.form&&(we(t.form,\"submit\",r),n.leaveSubmitMethodAlone||\"function\"!=typeof t.form.submit||(t.form.submit=o))}},t.style.display=\"none\";var s=ul(function(e){return t.parentNode.insertBefore(e,t.nextSibling)},n);return s},(Wl=ul).off=we,Wl.on=ye,Wl.wheelEventPixels=ni,Wl.Doc=ho,Wl.splitLines=Ee,Wl.countColumn=P,Wl.findColumn=K,Wl.isWordChar=Q,Wl.Pass=B,Wl.signal=xe,Wl.Line=Xt,Wl.changeEnd=ai,Wl.scrollbarModel=Or,Wl.Pos=rt,Wl.cmpPos=it,Wl.modes=ze,Wl.mimeModes=Be,Wl.resolveMode=Ge,Wl.getMode=Ue,Wl.modeExtensions=Ve,Wl.extendMode=Ke,Wl.copyState=je,Wl.startState=Ye,Wl.innerMode=Xe,Wl.commands=Io,Wl.keyMap=Lo,Wl.keyName=Oo,Wl.isModifierKey=No,Wl.lookupKey=Mo,Wl.normalizeKeyMap=To,Wl.StringStream=_e,Wl.SharedTextMarker=ao,Wl.TextMarker=lo,Wl.LineWidget=ro,Wl.e_preventDefault=Te,Wl.e_stopPropagation=Me,Wl.e_stop=Ae,Wl.addClass=D,Wl.contains=A,Wl.rmClass=L,Wl.keyNames=wo,ul.version=\"5.58.3\",ul});\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/lib/codemirror.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/codemirror/lib/codemirror.css": {
"text": ".CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,0.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line > span::selection,.CodeMirror-line > span > span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line > span::-moz-selection,.CodeMirror-line > span > span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:none}\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/tiddlywiki/codemirror/lib/codemirror.css",
"tags": "[[$:/tags/Stylesheet]]"
},
"$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.css": {
"text": ".CodeMirror-dialog {\n position: absolute;\n left: 0; right: 0;\n background: inherit;\n z-index: 15;\n padding: .1em .8em;\n overflow: hidden;\n color: inherit;\n}\n\n.CodeMirror-dialog-top {\n border-bottom: 1px solid #eee;\n top: 0;\n}\n\n.CodeMirror-dialog-bottom {\n border-top: 1px solid #eee;\n bottom: 0;\n}\n\n.CodeMirror-dialog input {\n border: none;\n outline: none;\n background: transparent;\n width: 20em;\n color: inherit;\n font-family: monospace;\n}\n\n.CodeMirror-dialog button {\n font-size: 70%;\n}\n",
"type": "text/css",
"title": "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.css",
"tags": "[[$:/tags/Stylesheet]]"
},
"$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js": {
"text": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(s){function f(e,o,n){var t=e.getWrapperElement(),i=t.appendChild(document.createElement(\"div\"));return i.className=n?\"CodeMirror-dialog CodeMirror-dialog-bottom\":\"CodeMirror-dialog CodeMirror-dialog-top\",\"string\"==typeof o?i.innerHTML=o:i.appendChild(o),s.addClass(t,\"dialog-opened\"),i}function p(e,o){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=o}s.defineExtension(\"openDialog\",function(e,o,n){n=n||{},p(this,null);var t=f(this,e,n.bottom),i=!1,r=this;function u(e){if(\"string\"==typeof e)a.value=e;else{if(i)return;i=!0,s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t),r.focus(),n.onClose&&n.onClose(t)}}var l,a=t.getElementsByTagName(\"input\")[0];return a?(a.focus(),n.value&&(a.value=n.value,!1!==n.selectValueOnOpen&&a.select()),n.onInput&&s.on(a,\"input\",function(e){n.onInput(e,a.value,u)}),n.onKeyUp&&s.on(a,\"keyup\",function(e){n.onKeyUp(e,a.value,u)}),s.on(a,\"keydown\",function(e){n&&n.onKeyDown&&n.onKeyDown(e,a.value,u)||((27==e.keyCode||!1!==n.closeOnEnter&&13==e.keyCode)&&(a.blur(),s.e_stop(e),u()),13==e.keyCode&&o(a.value,e))}),!1!==n.closeOnBlur&&s.on(t,\"focusout\",function(e){null!==e.relatedTarget&&u()})):(l=t.getElementsByTagName(\"button\")[0])&&(s.on(l,\"click\",function(){u(),r.focus()}),!1!==n.closeOnBlur&&s.on(l,\"blur\",u),l.focus()),u}),s.defineExtension(\"openConfirm\",function(e,o,n){p(this,null);var t=f(this,e,n&&n.bottom),i=t.getElementsByTagName(\"button\"),r=!1,u=this,l=1;function a(){r||(r=!0,s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t),u.focus())}i[0].focus();for(var c=0;c<i.length;++c){var d=i[c];!function(o){s.on(d,\"click\",function(e){s.e_preventDefault(e),a(),o&&o(u)})}(o[c]),s.on(d,\"blur\",function(){--l,setTimeout(function(){l<=0&&a()},200)}),s.on(d,\"focus\",function(){++l})}}),s.defineExtension(\"openNotification\",function(e,o){p(this,u);var n,t=f(this,e,o&&o.bottom),i=!1,r=o&&void 0!==o.duration?o.duration:5e3;function u(){i||(i=!0,clearTimeout(n),s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t))}return s.on(t,\"click\",function(e){s.e_preventDefault(e),u()}),r&&(n=setTimeout(u,r)),u})});\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror/addon/selection/activeline.js": {
"text": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(r){\"use strict\";var s=\"CodeMirror-activeline\",c=\"CodeMirror-activeline-background\",l=\"CodeMirror-activeline-gutter\";function f(e){for(var t=0;t<e.state.activeLines.length;t++)e.removeLineClass(e.state.activeLines[t],\"wrap\",s),e.removeLineClass(e.state.activeLines[t],\"background\",c),e.removeLineClass(e.state.activeLines[t],\"gutter\",l)}function o(t,e){for(var n=[],i=0;i<e.length;i++){var r,o=e[i],a=t.getOption(\"styleActiveLine\");(\"object\"==typeof a&&a.nonEmpty?o.anchor.line==o.head.line:o.empty())&&(r=t.getLineHandleVisualStart(o.head.line),n[n.length-1]!=r&&n.push(r))}!function(e,t){if(e.length==t.length){for(var n=0;n<e.length;n++)if(e[n]!=t[n])return;return 1}}(t.state.activeLines,n)&&t.operation(function(){f(t);for(var e=0;e<n.length;e++)t.addLineClass(n[e],\"wrap\",s),t.addLineClass(n[e],\"background\",c),t.addLineClass(n[e],\"gutter\",l);t.state.activeLines=n})}function a(e,t){o(e,t.ranges)}r.defineOption(\"styleActiveLine\",!1,function(e,t,n){var i=n!=r.Init&&n;t!=i&&(i&&(e.off(\"beforeSelectionChange\",a),f(e),delete e.state.activeLines),t&&(e.state.activeLines=[],o(e,e.listSelections()),e.on(\"beforeSelectionChange\",a)))})});\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/selection/activeline.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror/mode/tw-meta.js": {
"text": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";e.modeInfo=[{name:\"CMake\",mime:\"text/x-cmake\",mode:\"cmake\",ext:[\"cmake\",\"cmake.in\"],file:/^CMakeLists.txt$/},{name:\"Cython\",mime:\"text/x-cython\",mode:\"python\",ext:[\"pyx\",\"pxd\",\"pxi\"]},{name:\"CSS\",mime:\"text/css\",mode:\"css\",ext:[\"css\"]},{name:\"diff\",mime:\"text/x-diff\",mode:\"diff\",ext:[\"diff\",\"patch\"]},{name:\"Embedded Javascript\",mime:\"application/x-ejs\",mode:\"htmlembedded\",ext:[\"ejs\"]},{name:\"Embedded Ruby\",mime:\"application/x-erb\",mode:\"htmlembedded\",ext:[\"erb\"]},{name:\"Erlang\",mime:\"text/x-erlang\",mode:\"erlang\",ext:[\"erl\"]},{name:\"GitHub Flavored Markdown\",mime:\"text/x-gfm\",mode:\"gfm\",file:/^(readme|contributing|history).md$/i},{name:\"Go\",mime:\"text/x-go\",mode:\"go\",ext:[\"go\"]},{name:\"ASP.NET\",mime:\"application/x-aspx\",mode:\"htmlembedded\",ext:[\"aspx\"],alias:[\"asp\",\"aspx\"]},{name:\"HTML\",mime:\"text/html\",mode:\"htmlmixed\",ext:[\"html\",\"htm\",\"handlebars\",\"hbs\"],alias:[\"xhtml\"]},{name:\"HTTP\",mime:\"message/http\",mode:\"http\"},{name:\"JavaScript\",mimes:[\"text/javascript\",\"text/ecmascript\",\"application/javascript\",\"application/x-javascript\",\"application/ecmascript\"],mode:\"javascript\",ext:[\"js\"],alias:[\"ecmascript\",\"js\",\"node\"]},{name:\"JSON\",mimes:[\"application/json\",\"application/x-json\"],mode:\"javascript\",ext:[\"json\",\"map\"],alias:[\"json5\"]},{name:\"JSON-LD\",mime:\"application/ld+json\",mode:\"javascript\",ext:[\"jsonld\"],alias:[\"jsonld\"]},{name:\"Lua\",mime:\"text/x-lua\",mode:\"lua\",ext:[\"lua\"]},{name:\"Markdown\",mime:\"text/x-markdown\",mode:\"markdown\",ext:[\"markdown\",\"md\",\"mkd\"]},{name:\"MySQL\",mime:\"text/x-mysql\",mode:\"sql\"},{name:\"Plain Text\",mime:\"text/plain\",mode:\"null\",ext:[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\"]},{name:\"Python\",mime:\"text/x-python\",mode:\"python\",ext:[\"BUILD\",\"bzl\",\"py\",\"pyw\"],file:/^(BUCK|BUILD)$/},{name:\"SCSS\",mime:\"text/x-scss\",mode:\"css\",ext:[\"scss\"]},{name:\"LaTeX\",mime:\"text/x-latex\",mode:\"stex\",ext:[\"text\",\"ltx\",\"tex\"],alias:[\"tex\"]},{name:\"TiddlyWiki \",mime:\"text/x-tiddlywiki\",mode:\"tiddlywiki\"}];for(var t=0;t<e.modeInfo.length;t++){var m=e.modeInfo[t];m.mimes&&(m.mime=m.mimes[0])}e.findModeByMIME=function(t){t=t.toLowerCase();for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.mime==t)return i;if(i.mimes)for(var a=0;a<i.mimes.length;a++)if(i.mimes[a]==t)return i}return/\\+xml$/.test(t)?e.findModeByMIME(\"application/xml\"):/\\+json$/.test(t)?e.findModeByMIME(\"application/json\"):void 0},e.findModeByExtension=function(t){for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.ext)for(var a=0;a<i.ext.length;a++)if(i.ext[a]==t)return i}},e.findModeByFileName=function(t){for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.file&&i.file.test(t))return i}var a=t.lastIndexOf(\".\"),o=a>-1&&t.substring(a+1,t.length);if(o)return e.findModeByExtension(o)},e.findModeByName=function(t){t=t.toLowerCase();for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.name.toLowerCase()==t)return i;if(i.alias)for(var a=0;a<i.alias.length;a++)if(i.alias[a].toLowerCase()==t)return i}}});\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/mode/tw-meta.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror/keyboard": {
"title": "$:/plugins/tiddlywiki/codemirror/keyboard",
"text": "\n!!Default keyboard shortcuts\n\n!!!Basic shortcuts\n\n|Shortcut |Function |h\n|Left |goCharLeft |\n|Right |goCharRight |\n|Up |goLineUp |\n|Down |goLineDown |\n|End |goLineEnd |\n|Home |goLineStartSmart |\n|~PageUp |goPageUp |\n|~PageDown |goPageDown |\n|Delete |delCharAfter |\n|Backspace |delCharBefore |\n|Shift-Backspace |delCharBefore |\n|Tab |defaultTab |\n|Shift-Tab |indentAuto |\n|Enter |newlineAndIndent |\n|Insert |toggleOverwrite |\n|Ctrl-Esc |singleSelection |\n\n\n!!!Shortcuts on Windows and Linux\n\n|Shortcut |Function |h\n|Ctrl-A |selectAll |\n|Ctrl-D |deleteLine |\n|Ctrl-Z |undo |\n|Shift-Ctrl-Z |redo |\n|Ctrl-Y |redo |\n|Ctrl-Home |goDocStart |\n|Ctrl-End |goDocEnd |\n|Ctrl-Up |goLineUp |\n|Ctrl-Down |goLineDown |\n|Ctrl-Left |goGroupLeft |\n|Ctrl-Right |goGroupRight |\n|Alt-Left |goLineStart |\n|Alt-Right |goLineEnd |\n|Ctrl-Backspace |delGroupBefore |\n|Ctrl-Delete |delGroupAfter |\n|Ctrl-F |find |\n|Ctrl-G |findNext |\n|Shift-Ctrl-G |findPrev |\n|Shift-Ctrl-F |replace |\n|Shift-Ctrl-R |replaceAll |\n|Ctrl-[ |indentLess |\n|Ctrl-] |indentMore |\n|Alt-U |undoSelection |\n|Shift-Ctrl-U |redoSelection |\n|Shift-Alt-U |redoSelection |\n\n\n!!!Shortcuts on ~MacOs\n\n|Shortcut |Function |h\n|Cmd-A |selectAll |\n|Cmd-D |deleteLine |\n|Cmd-Z |undo |\n|Shift-Cmd-Z |redo |\n|Cmd-Y |redo |\n|Cmd-Home |goDocStart |\n|Cmd-Up |goDocStart |\n|Cmd-End |goDocEnd |\n|Cmd-Down |goDocEnd |\n|Alt-Left |goGroupLeft |\n|Alt-Right |goGroupRight |\n|Cmd-Left |goLineLeft |\n|Cmd-Right |goLineRight |\n|Alt-Backspace |delGroupBefore |\n|Ctrl-Alt-Backspace |delGroupAfter |\n|Alt-Delete |delGroupAfter |\n|Cmd-F |find |\n|Cmd-G |findNext |\n|Shift-Cmd-G |findPrev |\n|Cmd-Alt-F |replace |\n|Shift-Cmd-Alt-F |replaceAll |\n|Cmd-[ |indentLess |\n|Cmd-] |indentMore |\n|Cmd-Backspace |delWrappedLineLeft |\n|Cmd-Delete |delWrappedLineRight |\n|Alt-U |undoSelection |\n|Shift-Alt-U |redoSelection |\n|Ctrl-Up |goDocStart |\n|Ctrl-Down |goDocEnd |\n|Ctrl-F |goCharRight |\n|Ctrl-B |goCharLeft |\n|Ctrl-P |goLineUp |\n|Ctrl-N |goLineDown |\n|Alt-F |goWordRight |\n|Alt-B |goWordLeft |\n|Ctrl-A |goLineStart |\n|Ctrl-E |goLineEnd |\n|Ctrl-V |goPageDown |\n|Shift-Ctrl-V |goPageUp |\n|Ctrl-D |delCharAfter |\n|Ctrl-H |delCharBefore |\n|Alt-D |delWordAfter |\n|Alt-Backspace |delWordBefore |\n|Ctrl-K |killLine |\n|Alt-T |transposeChars |\n|Ctrl-O |openLine |\n\n\n"
},
"$:/plugins/tiddlywiki/codemirror/license": {
"title": "$:/plugins/tiddlywiki/codemirror/license",
"text": "\"\"\"\n~CodeMirror, copyright (c) by Marijn Haverbeke and others\nDistributed under an MIT license: http://codemirror.net/LICENSE\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2018, UnaMesa Association\nDistributed under an BSD license: https://tiddlywiki.com/#License\n\"\"\"\n"
},
"$:/plugins/tiddlywiki/codemirror/readme": {
"title": "$:/plugins/tiddlywiki/codemirror/readme",
"text": "This plugin provides an enhanced text editor component based on [[CodeMirror|http://codemirror.net]]. The basic configuration is designed to be as lightweight as possible and is just around 235kb of size. Additional features can be installed with ~CodeMirror ~AddOns from the plugin library.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/codemirror]]\n\nBased on ~CodeMirror version 5.58.3\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/cursorBlinkRate": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/cursorBlinkRate",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/cursorBlinkRate/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/cursorBlinkRate/\n\n|<$link to=\"$:/config/codemirror/cursorBlinkRate\"><<lingo hint>></$link> |<$edit-text tiddler=\"$:/config/codemirror/cursorBlinkRate\" default=\"\" placeholder=\"cursorBlinkRate\" tag=\"input\"/> |\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/editorFont": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/editorFont",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/editorFont/hint}}",
"text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/indentUnit": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/indentUnit",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/indentUnit/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/indentUnit/\n\n|<$link to=\"$:/config/codemirror/indentUnit\"><<lingo hint>></$link> |<$edit-text tiddler=\"$:/config/codemirror/indentUnit\" default=\"\" placeholder=\"indentUnit\" tag=\"input\"/> |\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/indentWithTabs": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/indentWithTabs",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/indentWithTabs/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/indentWithTabs/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/indentWithTabs\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/indentWithTabs\"><<lingo info>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/keyMap": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/keyMap",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/keyMap/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/keyMap\n\n<$link to=\"$:/config/codemirror/keyMap\"><<lingo hint>></$link>\n\n<$select tiddler=\"$:/config/codemirror/keyMap\" default=\"default\">\n<option value=\"default\">default</option>\n<$list filter=\"[all[shadows+tiddlers]module-type[codemirror-keymap]!has[draft.of]get[text]]\">\n<option value=<<currentTiddler>>><$transclude><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/lineNumbers": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/lineNumbers",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/lineNumbers/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/lineNumbers/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/lineNumbers\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"false\"> <$link to=\"$:/config/codemirror/lineNumbers\"><<lingo info>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/lineWrapping": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/lineWrapping",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/lineWrapping/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/lineWrapping/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/lineWrapping\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/lineWrapping\"><<lingo info>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/showCursorWhenSelecting": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/showCursorWhenSelecting",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/showCursorWhenSelecting/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/showCursorWhenSelecting/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/showCursorWhenSelecting\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/showCursorWhenSelecting\"><<lingo info>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/smartIndent": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/smartIndent",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/smartIndent/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/smartIndent/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/smartIndent\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/smartIndent\"><<lingo info>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/styleActiveLine": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/styleActiveLine",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/styleActiveLine/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/styleActiveLine/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/styleActiveLine\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"false\"> <$link to=\"$:/config/codemirror/styleActiveLine\"><<lingo info>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/tabSize": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/tabSize",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/tabSize/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/tabSize/\n\n|<$link to=\"$:/config/codemirror/tabSize\"><<lingo hint>></$link> |<$edit-text tiddler=\"$:/config/codemirror/tabSize\" default=\"\" placeholder=\"tabSize\" tag=\"input\"/> |\n"
},
"$:/core/ui/ControlPanel/Settings/codemirror/theme": {
"title": "$:/core/ui/ControlPanel/Settings/codemirror/theme",
"tags": "$:/tags/ControlPanel/Settings/CodeMirror",
"caption": "{{$:/language/codemirror/theme/hint}}",
"text": "\\define lingo-base() $:/language/codemirror/\n\n<$link to=\"$:/config/codemirror/theme\"><<lingo hint>></$link>\n\n<$select tiddler=\"$:/config/codemirror/theme\" default=\"default\">\n<option value=\"default\">default</option>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]module-type[codemirror-theme]!has[draft.of]get[name]]\">\n<option value=<<currentTiddler>>><$transclude field=\"name\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n//see the [[CodeMirror Usage|$:/plugins/tiddlywiki/codemirror/usage]] how to add themes//\n"
},
"$:/plugins/tiddlywiki/codemirror/styles": {
"title": "$:/plugins/tiddlywiki/codemirror/styles",
"tags": "[[$:/tags/Stylesheet]]",
"module-type": "codemirror-theme",
"name": "tiddlywiki",
"text": "\\define set-fat-cursor-background-css(colour,colourA,colourB)\n<$set name=\"backgroundColour\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n.cm-s-tiddlywiki.cm-fat-cursor .CodeMirror-cursor { background: <<backgroundColour>>; }\n.cm-s-tiddlywiki .cm-animate-fat-cursor { background-color: <<backgroundColour>>; }\n</$set>\n\\end\n\\define set-fat-cursor-background-colours(palette)\n<$macrocall $name=\"set-fat-cursor-background-css\" colour={{$palette$##foreground}} colourA=\"#77ee77\" colourB=\"#586e75\"/>\n\\end\n\\define set-fat-cursor-background()\n<$macrocall $name=\"set-fat-cursor-background-colours\" palette={{$:/palette}}/>\n\\end\n\\define set-selection-background-css(colour,colourA,colourB,tiddlerEditorBackground)\n<$wikify name=\"tiddlerEditorBackground\" text={{{ [[$tiddlerEditorBackground$]lowercase[]] }}}>\n<$set name=\"backgroundColour\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n<$set name=\"backgroundColour\" value={{{ [<backgroundColour>lowercase[]match<tiddlerEditorBackground>then[]] ~[<backgroundColour>] }}}>\n.cm-s-tiddlywiki div.CodeMirror-selected { background: <<backgroundColour>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki.CodeMirror ::selection { background: <<backgroundColour>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: <<backgroundColour>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: <<backgroundColour>>; color: <<colour foreground>>; }\n</$set>\n</$set>\n</$wikify>\n\\end\n\\define set-selection-background-colours(palette)\n<$macrocall $name=\"set-selection-background-css\" colour={{$palette$##foreground}} colourA={{{ [{$palette$##selection-background}!match[]!prefix[<<]!suffix[>>]] ~#073642 }}} colourB={{{ [{$palette$##selection-background}!match[]!prefix[<<]!suffix[>>]] ~#eee8d5 }}} tiddlerEditorBackground={{$palette$##tiddler-editor-background}}/>\n\\end\n\\define set-selection-background()\n<$macrocall $name=\"set-selection-background-colours\" palette={{$:/palette}}/>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/* Make the editor resize to fit its content */\n\n.CodeMirror {\n\theight: auto;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.5;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n}\n\n.CodeMirror-scroll {\n\toverflow-x: auto;\n\toverflow-y: hidden;\n}\n\n.cm-s-tiddlywiki {\n color-profile: sRGB;\n rendering-intent: auto;\n}\n\n.cm-s-tiddlywiki.CodeMirror, .cm-s-tiddlywiki .CodeMirror-gutters { background-color: <<colour tiddler-editor-background>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-gutters {background: <<colour tiddler-editor-background>>; border-right: 1px solid <<colour tiddler-editor-border>>;}\n.cm-s-tiddlywiki .CodeMirror-linenumber {color: <<colour foreground>>;}\n.cm-s-tiddlywiki .CodeMirror-cursor { border-left: 2px solid <<colour foreground>>; }\n.cm-s-tiddlywiki span.cm-comment { color: #586e75; font-style:italic; font-weight:normal; }\n.cm-s-tiddlywiki .CodeMirror-activeline-background, .cm-s-tiddlywiki .CodeMirror-activeline-gutter .CodeMirror-linenumber { background: rgba(127,127,127,0.2); }\n.cm-s-tiddlywiki span.cm-matchhighlight { color: <<colour background>>; background-color: <<colour primary>>; font-weight: normal;}\n.cm-s-tiddlywiki .CodeMirror-widget { text-shadow: none; }\n.cm-s-tiddlywiki .CodeMirror-dialog { background: <<colour tiddler-background>>; }\n.cm-s-tiddlywiki .cm-header { color: #586e75; }\n.cm-s-tiddlywiki .cm-quote { color: #93a1a1; }\n.cm-s-tiddlywiki .cm-keyword { color: #cb4b16; }\n.cm-s-tiddlywiki .cm-atom { color: #d33682; }\n.cm-s-tiddlywiki .cm-number { color: #d33682; }\n.cm-s-tiddlywiki .cm-def { color: #2aa198; }\n.cm-s-tiddlywiki .cm-variable { color: #839496; }\n.cm-s-tiddlywiki .cm-variable-2 { color: #b58900; }\n.cm-s-tiddlywiki .cm-variable-3, .cm-s-tiddlywiki .cm-type { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-property { color: #2aa198; }\n.cm-s-tiddlywiki .cm-operator { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-comment { color: #586e75; font-style:italic; }\n.cm-s-tiddlywiki .cm-string { color: #859900; }\n.cm-s-tiddlywiki .cm-string-2 { color: #b58900; }\n.cm-s-tiddlywiki .cm-meta { color: #859900; }\n.cm-s-tiddlywiki .cm-qualifier { color: #b58900; }\n.cm-s-tiddlywiki .cm-builtin { color: #d33682; }\n.cm-s-tiddlywiki .cm-bracket { color: #cb4b16; }\n.cm-s-tiddlywiki .CodeMirror-matchingbracket { color: #859900; }\n.cm-s-tiddlywiki .CodeMirror-nonmatchingbracket { color: #dc322f; }\n.cm-s-tiddlywiki .cm-tag { color: #93a1a1; }\n.cm-s-tiddlywiki .cm-attribute { color: #2aa198; }\n.cm-s-tiddlywiki .cm-hr { color: transparent; border-top: 1px solid #586e75; display: block; }\n.cm-s-tiddlywiki .cm-link { color: #93a1a1; cursor: pointer; }\n.cm-s-tiddlywiki .cm-special { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-em { color: #999; text-decoration: underline; text-decoration-style: dotted; }\n.cm-s-tiddlywiki .cm-error,\n.cm-s-tiddlywiki .cm-invalidchar { color: #586e75; border-bottom: 1px dotted #dc322f; }\n.cm-s-tiddlywiki .CodeMirror-matchingbracket { color: #859900; }\n.cm-s-tiddlywiki .CodeMirror-nonmatchingbracket { color: #dc322f; }\n.cm-s-tiddlywiki .cm-searching { background: rgba(243, 155, 53, .3); outline: 1px solid #F39B35; }\n<<set-fat-cursor-background>>\n<<set-selection-background>>\n"
},
"$:/core/ui/ControlPanel/Settings/CodeMirror": {
"title": "$:/core/ui/ControlPanel/Settings/CodeMirror",
"tags": "$:/tags/ControlPanel/SettingsTab",
"caption": "CodeMirror",
"list-after": "$:/core/ui/ControlPanel/Settings/TiddlyWiki",
"text": "\\define lingo-base() $:/language/codemirror/controlPanel/\n\n<<lingo hint>>\n\n<$link to=\"$:/plugins/tiddlywiki/codemirror/usage\"><<lingo usage>></$link>\n\n<$link to=\"$:/plugins/tiddlywiki/codemirror/keyboard\"><<lingo keyboard>></$link>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings/CodeMirror]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\" explicitState=\"$:/state/tab--697582678\"/>\n</div>\n"
},
"$:/core/ui/ControlPanel/Settings/TiddlyWiki": {
"title": "$:/core/ui/ControlPanel/Settings/TiddlyWiki",
"tags": "$:/tags/ControlPanel/SettingsTab",
"caption": "TiddlyWiki",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/plugins/tiddlywiki/codemirror/usage": {
"title": "$:/plugins/tiddlywiki/codemirror/usage",
"text": "! Configuration\n\nConfiguration for the ~CodeMirror text-editor can be done from within the CodeMirror Settings Tab in the [[ControlPanel|$:/ControlPanel]] (Settings - ~CodeMirror)\n\n\n!!Setting a different Theme\n\n~CodeMirror themes are available in the [ext[official GitHub repository|https://github.com/codemirror/CodeMirror/tree/master/theme]]\n\nMore themes can be found at https://github.com/FarhadG/code-mirror-themes/tree/master/themes and previewed [ext[here|http://farhadg.github.io/code-mirror-themes/]]\n\n\nTo add a theme to your wiki, follow these four steps:\n\n* choose one of the CSS files and copy its content to a new tiddler\n* remove all comments from the top and tag the tiddler with <<tag-pill \"$:/tags/Stylesheet\">>\n* add a field \"module-type\" with the value \"codemirror-theme\". add a field \"name\" with the exact ''name'' of the theme as value\n* save the tiddler and go to the Settings tab in $:/ControlPanel - look for the \"theme\" dropdown to select your newly added theme\n\n\n!!Line Numbers\n\nTo show or hide the Line Numbers at the left, go to ~ControlPanel - Settings - ~CodeMirror and look for the \"Line Numbers\" checkbox\n\n\n!!Line Wrapping\n\nControls if long lines get visually wrapped to a new line if they're too long to fit the editor width or if the editor should scroll horizontally\n\nTo change the line-wrapping behaviour, go to ~ControlPanel - Settings - ~CodeMirror and look for the \"Line Wrapping\" checkbox\n\n\n!!Show Cursor when selecting\n\nDefines whether the Mouse cursor should be visually shown or hidden when making a text-selection\n\nTo change the show-cursor-when-selecting behaviour, go to ~ControlPanel - Settings - ~CodeMirror and look for the \"Show cursor when selecting\" checkbox\n\n\n!!~CodeMirror Font Family\n\nThe Font-Family used within the ~CodeMirror text-editor defaults to \"monospace\" which will choose your configured monospace system-font\n\nThat setting can be overridden entering one or more Font-Families in the \"Font Family\" input field at ~ControlPanel - Settings - ~CodeMirror\n\n* The entries must be separated by semicolons ','\n* Font-Family Names that contain spaces must be quoted like \"My Font\"\n* If a list of Font-Families is specified, the last Font-Family found on the user-system gets used, non-existing fonts get ignored\n* If none of the specified Font-Families is available, ~CodeMirror uses the default \"monospace\"\n\n\n!!\"Hidden\" Settings:\n\n!!!Cursor Blink Rate\n\nThe cursor blink-rate defines how fast (in milliseconds) the cursor blinks inside the textarea\n\nYou can change it by editing $:/config/codemirror/cursorBlinkRate\n\"0\" disables blinking\n\n!!!Tabsize\n\nThe Tabsize defines the width of a tab character. Default is 4.\n\nYou can change it by editing $:/config/codemirror/tabSize\n\n!!!Indent Unit\n\nNot enabled for vnd.tiddlywiki and x-tiddlywiki\n\nDefines how many spaces a text-block should be indented. Defaults to 2.\n\nYou can change it by editing $:/config/codemirror/indentUnit\n\n"
}
}
}
{
"tiddlers": {
"$:/config/codemirror/autoCloseBrackets": {
"title": "$:/config/codemirror/autoCloseBrackets",
"type": "bool",
"text": "true"
},
"$:/config/codemirror/matchBrackets": {
"title": "$:/config/codemirror/matchBrackets",
"type": "bool",
"text": "true\n"
},
"$:/plugins/tiddlywiki/codemirror/addon/edit/closebrackets.js": {
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(e){var t={pairs:\"()[]{}''\\\"\\\"\",triples:\"\",explode:\"[]{}\"},r=e.Pos;function n(e,r){return\"pairs\"==r&&\"string\"==typeof e?e:\"object\"==typeof e&&null!=e[r]?e[r]:t[r]}e.defineOption(\"autoCloseBrackets\",!1,function(t,r,o){o&&o!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),r&&(a(n(r,\"pairs\")),t.state.closeBrackets=r,t.addKeyMap(i))});var i={Backspace:function(t){var i=s(t);if(!i||t.getOption(\"disableInput\"))return e.Pass;for(var a=n(i,\"pairs\"),o=t.listSelections(),c=0;c<o.length;c++){if(!o[c].empty())return e.Pass;var f=l(t,o[c].head);if(!f||a.indexOf(f)%2!=0)return e.Pass}for(var c=o.length-1;c>=0;c--){var h=o[c].head;t.replaceRange(\"\",r(h.line,h.ch-1),r(h.line,h.ch+1),\"+delete\")}},Enter:function(t){var r=s(t),i=r&&n(r,\"explode\");if(!i||t.getOption(\"disableInput\"))return e.Pass;for(var a=t.listSelections(),o=0;o<a.length;o++){if(!a[o].empty())return e.Pass;var c=l(t,a[o].head);if(!c||i.indexOf(c)%2!=0)return e.Pass}t.operation(function(){var e=t.lineSeparator()||\"\\n\";t.replaceSelection(e+e,null),t.execCommand(\"goCharLeft\"),a=t.listSelections();for(var r=0;r<a.length;r++){var n=a[r].head.line;t.indentLine(n,null,!0),t.indentLine(n+1,null,!0)}})}};function a(e){for(var t=0;t<e.length;t++){var r=e.charAt(t),n=\"'\"+r+\"'\";i[n]||(i[n]=o(r))}}function o(t){return function(i){return function(t,i){var a=s(t);if(!a||t.getOption(\"disableInput\"))return e.Pass;var o=n(a,\"pairs\"),l=o.indexOf(i);if(-1==l)return e.Pass;for(var c,f=n(a,\"triples\"),h=o.charAt(l+1)==i,d=t.listSelections(),u=l%2==0,g=0;g<d.length;g++){var p,v=d[g],m=v.head,b=t.getRange(m,r(m.line,m.ch+1));if(u&&!v.empty())p=\"surround\";else if(!h&&u||b!=i)if(h&&m.ch>1&&f.indexOf(i)>=0&&t.getRange(r(m.line,m.ch-2),m)==i+i){if(m.ch>2&&/\\bstring/.test(t.getTokenTypeAt(r(m.line,m.ch-2))))return e.Pass;p=\"addFour\"}else if(h){var C=0==m.ch?\" \":t.getRange(r(m.line,m.ch-1),m);if(e.isWordChar(b)||C==i||e.isWordChar(C))return e.Pass;p=\"both\"}else{if(!u||!(t.getLine(m.line).length==m.ch||(x=b,P=o,void 0,k=P.lastIndexOf(x),k>-1&&k%2==1)||/\\s/.test(b)))return e.Pass;p=\"both\"}else p=!h||(S=m,void 0,O=(y=t).getTokenAt(r(S.line,S.ch+1)),!/\\bstring/.test(O.type)||O.start!=S.ch||0!=S.ch&&/\\bstring/.test(y.getTokenTypeAt(S)))?f.indexOf(i)>=0&&t.getRange(m,r(m.line,m.ch+3))==i+i+i?\"skipThree\":\"skip\":\"both\";if(c){if(c!=p)return e.Pass}else c=p}var x,P,k;var y,S,O;var R=l%2?o.charAt(l-1):i,A=l%2?i:o.charAt(l+1);t.operation(function(){if(\"skip\"==c)t.execCommand(\"goCharRight\");else if(\"skipThree\"==c)for(var n=0;n<3;n++)t.execCommand(\"goCharRight\");else if(\"surround\"==c){for(var i=t.getSelections(),n=0;n<i.length;n++)i[n]=R+i[n]+A;t.replaceSelections(i,\"around\"),i=t.listSelections().slice();for(var n=0;n<i.length;n++)i[n]=(a=i[n],void 0,o=e.cmpPos(a.anchor,a.head)>0,{anchor:new r(a.anchor.line,a.anchor.ch+(o?-1:1)),head:new r(a.head.line,a.head.ch+(o?1:-1))});t.setSelections(i)}else\"both\"==c?(t.replaceSelection(R+A,null),t.triggerElectric(R+A),t.execCommand(\"goCharLeft\")):\"addFour\"==c&&(t.replaceSelection(R+R+R+R,\"before\"),t.execCommand(\"goCharRight\"));var a,o})}(i,t)}}function s(e){var t=e.state.closeBrackets;return!t||t.override?t:e.getModeAt(e.getCursor()).closeBrackets||t}function l(e,t){var n=e.getRange(r(t.line,t.ch-1),r(t.line,t.ch+1));return 2==n.length?n:null}a(t.pairs+\"`\")});",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/edit/closebrackets.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror/addon/edit/matchbrackets.js": {
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(t){var e=/MSIE \\d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=t.Pos,r={\"(\":\")>\",\")\":\"(<\",\"[\":\"]>\",\"]\":\"[<\",\"{\":\"}>\",\"}\":\"{<\"};function i(t,e,i){var c=t.getLineHandle(e.line),o=e.ch-1,l=i&&i.afterCursor;null==l&&(l=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className));var h=!l&&o>=0&&r[c.text.charAt(o)]||r[c.text.charAt(++o)];if(!h)return null;var s=\">\"==h.charAt(1)?1:-1;if(i&&i.strict&&s>0!=(o==e.ch))return null;var u=t.getTokenTypeAt(n(e.line,o+1)),f=a(t,n(e.line,o+(s>0?1:0)),s,u||null,i);return null==f?null:{from:n(e.line,o),to:f&&f.pos,match:f&&f.ch==h.charAt(0),forward:s>0}}function a(t,e,i,a,c){for(var o=c&&c.maxScanLineLength||1e4,l=c&&c.maxScanLines||1e3,h=[],s=c&&c.bracketRegex?c.bracketRegex:/[(){}[\\]]/,u=i>0?Math.min(e.line+l,t.lastLine()+1):Math.max(t.firstLine()-1,e.line-l),f=e.line;f!=u;f+=i){var m=t.getLine(f);if(m){var g=i>0?0:m.length-1,d=i>0?m.length:-1;if(!(m.length>o))for(f==e.line&&(g=e.ch-(i<0?1:0));g!=d;g+=i){var k=m.charAt(g);if(s.test(k)&&(void 0===a||t.getTokenTypeAt(n(f,g+1))==a))if(\">\"==r[k].charAt(1)==i>0)h.push(k);else{if(!h.length)return{pos:n(f,g),ch:k};h.pop()}}}}return f-i!=(i>0?t.lastLine():t.firstLine())&&null}function c(t,r,a){for(var c=t.state.matchBrackets.maxHighlightLineLength||1e3,o=[],l=t.listSelections(),h=0;h<l.length;h++){var s=l[h].empty()&&i(t,l[h].head,a);if(s&&t.getLine(s.from.line).length<=c){var u=s.match?\"CodeMirror-matchingbracket\":\"CodeMirror-nonmatchingbracket\";o.push(t.markText(s.from,n(s.from.line,s.from.ch+1),{className:u})),s.to&&t.getLine(s.to.line).length<=c&&o.push(t.markText(s.to,n(s.to.line,s.to.ch+1),{className:u}))}}if(o.length){e&&t.state.focused&&t.focus();var f=function(){t.operation(function(){for(var t=0;t<o.length;t++)o[t].clear()})};if(!r)return f;setTimeout(f,800)}}function o(t){t.operation(function(){t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null),t.state.matchBrackets.currentlyHighlighted=c(t,!1,t.state.matchBrackets)})}t.defineOption(\"matchBrackets\",!1,function(e,n,r){r&&r!=t.Init&&(e.off(\"cursorActivity\",o),e.state.matchBrackets&&e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null)),n&&(e.state.matchBrackets=\"object\"==typeof n?n:{},e.on(\"cursorActivity\",o))}),t.defineExtension(\"matchBrackets\",function(){c(this,!0)}),t.defineExtension(\"findMatchingBracket\",function(t,e,n){return(n||\"boolean\"==typeof e)&&(n?(n.strict=e,e=n):e=e?{strict:!0}:null),i(this,t,e)}),t.defineExtension(\"scanForBracket\",function(t,e,n,r){return a(this,t,e,n,r)})});",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/edit/matchbrackets.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror-closebrackets/readme": {
"title": "$:/plugins/tiddlywiki/codemirror-closebrackets/readme",
"text": "This plugin adds the ability to automatically insert the closing brackets when you type an opening bracket.\nAlso enables highlighting of matching brackets.\n\nIt needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/codemirror/keymaps/vim": {
"title": "$:/plugins/tiddlywiki/codemirror/keymaps/vim",
"module-type": "codemirror-keymap",
"text": "vim\n"
},
"$:/plugins/tiddlywiki/codemirror/keymap/vim.js": {
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\"),require(\"../addon/search/searchcursor\"),require(\"../addon/dialog/dialog\"),require(\"../addon/edit/matchbrackets.js\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\",\"../addon/search/searchcursor\",\"../addon/dialog/dialog\",\"../addon/edit/matchbrackets\"],e):e(CodeMirror)}(function(e){\"use strict\";var t=[{keys:\"<Left>\",type:\"keyToKey\",toKeys:\"h\"},{keys:\"<Right>\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"<Up>\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"<Down>\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"<Space>\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"<BS>\",type:\"keyToKey\",toKeys:\"h\",context:\"normal\"},{keys:\"<C-Space>\",type:\"keyToKey\",toKeys:\"W\"},{keys:\"<C-BS>\",type:\"keyToKey\",toKeys:\"B\",context:\"normal\"},{keys:\"<S-Space>\",type:\"keyToKey\",toKeys:\"w\"},{keys:\"<S-BS>\",type:\"keyToKey\",toKeys:\"b\",context:\"normal\"},{keys:\"<C-n>\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"<C-p>\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"<C-[>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-c>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-[>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"<C-c>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"cl\",context:\"normal\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"c\",context:\"visual\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"cc\",context:\"normal\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"VdO\",context:\"visual\"},{keys:\"<Home>\",type:\"keyToKey\",toKeys:\"0\"},{keys:\"<End>\",type:\"keyToKey\",toKeys:\"$\"},{keys:\"<PageUp>\",type:\"keyToKey\",toKeys:\"<C-b>\"},{keys:\"<PageDown>\",type:\"keyToKey\",toKeys:\"<C-f>\"},{keys:\"<CR>\",type:\"keyToKey\",toKeys:\"j^\",context:\"normal\"},{keys:\"<Ins>\",type:\"action\",action:\"toggleOverwrite\",context:\"insert\"},{keys:\"H\",type:\"motion\",motion:\"moveToTopLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"M\",type:\"motion\",motion:\"moveToMiddleLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"L\",type:\"motion\",motion:\"moveToBottomLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"h\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!1}},{keys:\"l\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!0}},{keys:\"j\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,linewise:!0}},{keys:\"k\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,linewise:!0}},{keys:\"gj\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!0}},{keys:\"gk\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!1}},{keys:\"w\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1}},{keys:\"W\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:\"e\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:\"E\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"b\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1}},{keys:\"B\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:\"ge\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:\"gE\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"{\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"}\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"(\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!1}},{keys:\")\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!0}},{keys:\"<C-f>\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!0}},{keys:\"<C-b>\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!1}},{keys:\"<C-d>\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:\"<C-u>\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:\"gg\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"G\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"0\",type:\"motion\",motion:\"moveToStartOfLine\"},{keys:\"^\",type:\"motion\",motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"+\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0}},{keys:\"-\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,toFirstChar:!0}},{keys:\"_\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:\"$\",type:\"motion\",motion:\"moveToEol\",motionArgs:{inclusive:!0}},{keys:\"%\",type:\"motion\",motion:\"moveToMatchedSymbol\",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:\"f<character>\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"F<character>\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!1}},{keys:\"t<character>\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"T<character>\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!1}},{keys:\";\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!0}},{keys:\",\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!1}},{keys:\"'<character>\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0,linewise:!0}},{keys:\"`<character>\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0}},{keys:\"]`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0}},{keys:\"[`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1}},{keys:\"]'\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0,linewise:!0}},{keys:\"['\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1,linewise:!0}},{keys:\"]p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:\"[p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:\"]<character>\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"[<character>\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"|\",type:\"motion\",motion:\"moveToColumn\"},{keys:\"o\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",context:\"visual\"},{keys:\"O\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",motionArgs:{sameLine:!0},context:\"visual\"},{keys:\"d\",type:\"operator\",operator:\"delete\"},{keys:\"y\",type:\"operator\",operator:\"yank\"},{keys:\"c\",type:\"operator\",operator:\"change\"},{keys:\">\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!0}},{keys:\"<\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!1}},{keys:\"g~\",type:\"operator\",operator:\"changeCase\"},{keys:\"gu\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},isEdit:!0},{keys:\"gU\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},isEdit:!0},{keys:\"n\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"N\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"x\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:\"X\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:\"D\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"D\",type:\"operator\",operator:\"delete\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"Y\",type:\"operatorMotion\",operator:\"yank\",motion:\"expandToLine\",motionArgs:{linewise:!0},context:\"normal\"},{keys:\"Y\",type:\"operator\",operator:\"yank\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"C\",type:\"operatorMotion\",operator:\"change\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"C\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"~\",type:\"operatorMotion\",operator:\"changeCase\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:\"normal\"},{keys:\"~\",type:\"operator\",operator:\"changeCase\",context:\"visual\"},{keys:\"<C-w>\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1},context:\"insert\"},{keys:\"<C-i>\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!0}},{keys:\"<C-o>\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!1}},{keys:\"<C-e>\",type:\"action\",action:\"scroll\",actionArgs:{forward:!0,linewise:!0}},{keys:\"<C-y>\",type:\"action\",action:\"scroll\",actionArgs:{forward:!1,linewise:!0}},{keys:\"a\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"charAfter\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"eol\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"endOfSelectedArea\"},context:\"visual\"},{keys:\"i\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"inplace\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"firstNonBlank\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"startOfSelectedArea\"},context:\"visual\"},{keys:\"o\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:\"normal\"},{keys:\"O\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:\"normal\"},{keys:\"v\",type:\"action\",action:\"toggleVisualMode\"},{keys:\"V\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{linewise:!0}},{keys:\"<C-v>\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"<C-q>\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"gv\",type:\"action\",action:\"reselectLastSelection\"},{keys:\"J\",type:\"action\",action:\"joinLines\",isEdit:!0},{keys:\"p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:\"P\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:\"r<character>\",type:\"action\",action:\"replace\",isEdit:!0},{keys:\"@<character>\",type:\"action\",action:\"replayMacro\"},{keys:\"q<character>\",type:\"action\",action:\"enterMacroRecordMode\"},{keys:\"R\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{replace:!0}},{keys:\"u\",type:\"action\",action:\"undo\",context:\"normal\"},{keys:\"u\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},context:\"visual\",isEdit:!0},{keys:\"U\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},context:\"visual\",isEdit:!0},{keys:\"<C-r>\",type:\"action\",action:\"redo\"},{keys:\"m<character>\",type:\"action\",action:\"setMark\"},{keys:'\"<character>',type:\"action\",action:\"setRegister\"},{keys:\"zz\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"}},{keys:\"z.\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"zt\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"}},{keys:\"z<CR>\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"z-\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"}},{keys:\"zb\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\".\",type:\"action\",action:\"repeatLastEdit\"},{keys:\"<C-a>\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:\"<C-x>\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:\"<C-t>\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!0},context:\"insert\"},{keys:\"<C-d>\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!1},context:\"insert\"},{keys:\"a<character>\",type:\"motion\",motion:\"textObjectManipulation\"},{keys:\"i<character>\",type:\"motion\",motion:\"textObjectManipulation\",motionArgs:{textObjectInner:!0}},{keys:\"/\",type:\"search\",searchArgs:{forward:!0,querySrc:\"prompt\",toJumplist:!0}},{keys:\"?\",type:\"search\",searchArgs:{forward:!1,querySrc:\"prompt\",toJumplist:!0}},{keys:\"*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"g*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\"g#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\":\",type:\"ex\"}],r=[{name:\"colorscheme\",shortName:\"colo\"},{name:\"map\"},{name:\"imap\",shortName:\"im\"},{name:\"nmap\",shortName:\"nm\"},{name:\"vmap\",shortName:\"vm\"},{name:\"unmap\"},{name:\"write\",shortName:\"w\"},{name:\"undo\",shortName:\"u\"},{name:\"redo\",shortName:\"red\"},{name:\"set\",shortName:\"se\"},{name:\"set\",shortName:\"se\"},{name:\"setlocal\",shortName:\"setl\"},{name:\"setglobal\",shortName:\"setg\"},{name:\"sort\",shortName:\"sor\"},{name:\"substitute\",shortName:\"s\",possiblyAsync:!0},{name:\"nohlsearch\",shortName:\"noh\"},{name:\"yank\",shortName:\"y\"},{name:\"delmarks\",shortName:\"delm\"},{name:\"registers\",shortName:\"reg\",excludeFromCommandHistory:!0},{name:\"global\",shortName:\"g\"}],n=e.Pos;e.Vim=function(){function o(t,r){var n;this==e.keyMap.vim&&(e.rmClass(t.getWrapperElement(),\"cm-fat-cursor\"),\"contenteditable\"==t.getOption(\"inputStyle\")&&null!=document.body.style.caretColor&&(function(e){var t=e.state.fatCursorMarks;if(t)for(var r=0;r<t.length;r++)t[r].clear();e.state.fatCursorMarks=null,e.off(\"cursorActivity\",s)}(t),t.getInputField().style.caretColor=\"\")),r&&r.attach==i||((n=t).setOption(\"disableInput\",!1),n.off(\"cursorActivity\",qe),e.off(n.getInputField(),\"paste\",h(n)),n.state.vim=null)}function i(t,r){var n,o;this==e.keyMap.vim&&(e.addClass(t.getWrapperElement(),\"cm-fat-cursor\"),\"contenteditable\"==t.getOption(\"inputStyle\")&&null!=document.body.style.caretColor&&((n=t).state.fatCursorMarks=a(n),n.on(\"cursorActivity\",s),t.getInputField().style.caretColor=\"transparent\")),r&&r.attach==i||((o=t).setOption(\"disableInput\",!0),o.setOption(\"showCursorWhenSelecting\",!1),e.signal(o,\"vim-mode-change\",{mode:\"normal\"}),o.on(\"cursorActivity\",qe),P(o),e.on(o.getInputField(),\"paste\",h(o)))}function a(e){for(var t=e.listSelections(),r=[],o=0;o<t.length;o++){var i=t[o];if(i.empty())if(i.anchor.ch<e.getLine(i.anchor.line).length)r.push(e.markText(i.anchor,n(i.anchor.line,i.anchor.ch+1),{className:\"cm-fat-cursor-mark\"}));else{var a=document.createElement(\"span\");a.textContent=\" \",a.className=\"cm-fat-cursor-mark\",r.push(e.setBookmark(i.anchor,{widget:a}))}}return r}function s(e){var t=e.state.fatCursorMarks;if(t)for(var r=0;r<t.length;r++)t[r].clear();e.state.fatCursorMarks=a(e)}function l(t,r){if(r){if(this[t])return this[t];var n=function(e){if(\"'\"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),r=t[t.length-1];if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&\"Shift\"==t[0]&&1==r.length)return!1;for(var n=!1,o=0;o<t.length;o++){var i=t[o];i in c?t[o]=c[i]:n=!0,i in u&&(t[o]=u[i])}return!!n&&(x(r)&&(t[t.length-1]=r.toLowerCase()),\"<\"+t.join(\"-\")+\">\")}(t);if(!n)return!1;var o=e.Vim.findKey(r,n);return\"function\"==typeof o&&e.signal(r,\"vim-keypress\",n),o}}e.defineOption(\"vimMode\",!1,function(t,r,n){r&&\"vim\"!=t.getOption(\"keyMap\")?t.setOption(\"keyMap\",\"vim\"):!r&&n!=e.Init&&/^vim/.test(t.getOption(\"keyMap\"))&&t.setOption(\"keyMap\",\"default\")});var c={Shift:\"S\",Ctrl:\"C\",Alt:\"A\",Cmd:\"D\",Mod:\"A\"},u={Enter:\"CR\",Backspace:\"BS\",Delete:\"Del\",Insert:\"Ins\"};function h(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(G(e.getCursor(),0,1)),Q.enterInsertMode(e,{},t))}),t.onPasteFn}var p=/[\\d]/,f=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\\s/.test(t)}],d=[function(e){return/\\S/.test(e)}];function m(e,t){for(var r=[],n=e;n<e+t;n++)r.push(String.fromCharCode(n));return r}var g=m(65,26),v=m(97,26),y=m(48,10),k=[].concat(g,v,y,[\"<\",\">\"]),C=[].concat(g,v,y,[\"-\",'\"',\".\",\":\",\"/\"]);function w(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function M(e){return/^[a-z]$/.test(e)}function x(e){return/^[A-Z]$/.test(e)}function S(e){return/^\\s*$/.test(e)}function A(e){return-1!=\".?!\".indexOf(e)}function b(e,t){for(var r=0;r<t.length;r++)if(t[r]==e)return!0;return!1}var L={};function T(e,t,r,n,o){if(void 0===t&&!o)throw Error(\"defaultValue is required unless callback is provided\");if(r||(r=\"string\"),L[e]={type:r,defaultValue:t,callback:o},n)for(var i=0;i<n.length;i++)L[n[i]]=L[e];t&&R(e,t)}function R(e,t,r,n){var o=L[e],i=(n=n||{}).scope;if(!o)return new Error(\"Unknown option: \"+e);if(\"boolean\"==o.type){if(t&&!0!==t)return new Error(\"Invalid argument: \"+e+\"=\"+t);!1!==t&&(t=!0)}o.callback?(\"local\"!==i&&o.callback(t,void 0),\"global\"!==i&&r&&o.callback(t,r)):(\"local\"!==i&&(o.value=\"boolean\"==o.type?!!t:t),\"global\"!==i&&r&&(r.state.vim.options[e]={value:t}))}function E(e,t,r){var n=L[e],o=(r=r||{}).scope;if(!n)return new Error(\"Unknown option: \"+e);if(n.callback){var i=t&&n.callback(void 0,t);return\"global\"!==o&&void 0!==i?i:\"local\"!==o?n.callback():void 0}return((i=\"global\"!==o&&t&&t.state.vim.options[e])||\"local\"!==o&&n||{}).value}T(\"filetype\",void 0,\"string\",[\"ft\"],function(e,t){if(void 0!==t){if(void 0===e)return\"null\"==(r=t.getOption(\"mode\"))?\"\":r;var r=\"\"==e?\"null\":e;t.setOption(\"mode\",r)}});var O,B,I=function(){var e=100,t=-1,r=0,n=0,o=new Array(e);return{cachedCursor:void 0,add:function(i,a,s){var l=o[t%e];function c(r){var n=++t%e,a=o[n];a&&a.clear(),o[n]=i.setBookmark(r)}if(l){var u=l.find();u&&!te(u,a)&&c(a)}else c(a);c(s),r=t,(n=t-e+1)<0&&(n=0)},move:function(i,a){(t+=a)>r?t=r:t<n&&(t=n);var s=o[(e+t)%e];if(s&&!s.find()){var l,c=a>0?1:-1,u=i.getCursor();do{if((s=o[(e+(t+=c))%e])&&(l=s.find())&&!te(u,l))break}while(t<r&&t>n)}return s}}},K=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function N(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=K()}function P(e){return e.state.vim||(e.state.vim={inputState:new _,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function j(){for(var e in O={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:I(),macroModeState:new N,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:\"\"},registerController:new V({}),searchHistoryController:new D,exCommandHistoryController:new D},L){var t=L[e];t.value=t.defaultValue}}N.prototype={exitMacroRecordMode:function(){var e=O.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var r=O.registerController.getRegister(t);r&&(r.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog(\"(recording)[\"+t+\"]\",null,{bottom:!0})),this.isRecording=!0)}};var H={buildKeyMap:function(){},getRegisterController:function(){return O.registerController},resetVimGlobalState_:j,getVimGlobalState_:function(){return O},maybeInitVimState_:P,suppressErrorLogging:!1,InsertModeKey:ze,map:function(e,t,r){Ve.map(e,t,r)},unmap:function(e,t){Ve.unmap(e,t)},setOption:R,getOption:E,defineOption:T,defineEx:function(e,t,r){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) \"'+t+'\" is not a prefix of \"'+e+'\", command not registered')}else t=e;We[e]=r,Ve.commandMap_[t]={name:e,shortName:t,type:\"api\"}},handleKey:function(e,t,r){var n=this.findKey(e,t,r);if(\"function\"==typeof n)return n()},findKey:function(r,n,o){var i,a=P(r);function s(){var e=O.macroModeState;if(e.isRecording){if(\"q\"==n)return e.exitMacroRecordMode(),F(r),!0;\"mapping\"!=o&&function(e,t){if(!e.isPlaying){var r=e.latestRegister,n=O.registerController.getRegister(r);n&&n.pushText(t)}}(e,n)}}function l(){if(\"<Esc>\"==n)return F(r),a.visualMode?fe(r):a.insertMode&&De(r),!0}return!1===(i=a.insertMode?function(){if(l())return!0;for(var e=a.inputState.keyBuffer=a.inputState.keyBuffer+n,o=1==n.length,i=U.matchCommand(e,t,a.inputState,\"insert\");e.length>1&&\"full\"!=i.type;){e=a.inputState.keyBuffer=e.slice(1);var s=U.matchCommand(e,t,a.inputState,\"insert\");\"none\"!=s.type&&(i=s)}if(\"none\"==i.type)return F(r),!1;if(\"partial\"==i.type)return B&&window.clearTimeout(B),B=window.setTimeout(function(){a.insertMode&&a.inputState.keyBuffer&&F(r)},E(\"insertModeEscKeysTimeout\")),!o;if(B&&window.clearTimeout(B),o){for(var c=r.listSelections(),u=0;u<c.length;u++){var h=c[u].head;r.replaceRange(\"\",G(h,0,-(e.length-1)),h,\"+input\")}O.macroModeState.lastInsertModeChanges.changes.pop()}return F(r),i.command}():function(){if(s()||l())return!0;var e=a.inputState.keyBuffer=a.inputState.keyBuffer+n;if(/^[1-9]\\d*$/.test(e))return!0;if(!(o=/^(\\d*)(.*)$/.exec(e)))return F(r),!1;var o,i=a.visualMode?\"visual\":\"normal\",c=U.matchCommand(o[2]||o[1],t,a.inputState,i);return\"none\"==c.type?(F(r),!1):\"partial\"==c.type||(a.inputState.keyBuffer=\"\",(o=/^(\\d*)(.*)$/.exec(e))[1]&&\"0\"!=o[1]&&a.inputState.pushRepeatDigit(o[1]),c.command)}())?a.insertMode||1!==n.length?void 0:function(){return!0}:!0===i?function(){return!0}:function(){return r.operation(function(){r.curOp.isVimOp=!0;try{\"keyToKey\"==i.type?function(t){for(var o;t;)o=/<\\w+-.+?>|<\\w+>|./.exec(t),n=o[0],t=t.substring(o.index+n.length),e.Vim.handleKey(r,n,\"mapping\")}(i.toKeys):U.processCommand(r,a,i)}catch(t){throw r.state.vim=void 0,P(r),e.Vim.suppressErrorLogging||console.log(t),t}return!0})}},handleEx:function(e,t){Ve.processCommand(e,t)},defineMotion:function(e,t){J[e]=t},defineAction:function(e,t){Q[e]=t},defineOperator:function(e,t){q[e]=t},mapCommand:function(e,t,r,n,o){var i={keys:e,type:t};for(var a in i[t]=r,i[t+\"Args\"]=n,o)i[a]=o[a];Ue(i)},_mapCommand:Ue,defineRegister:function(e,t){var r=O.registerController.registers;if(!e||1!=e.length)throw Error(\"Register name must be 1 character\");if(r[e])throw Error(\"Register already defined \"+e);r[e]=t,C.push(e)},exitVisualMode:fe,exitInsertMode:De};function _(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function F(t,r){t.state.vim.inputState=new _,e.signal(t,\"vim-command-done\",r)}function W(e,t,r){this.clear(),this.keyBuffer=[e||\"\"],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!r}function V(e){this.registers=e,this.unnamedRegister=e['\"']=new W,e[\".\"]=new W,e[\":\"]=new W,e[\"/\"]=new W}function D(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}_.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},_.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(\"\"),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(\"\"),10))),e},W.prototype={setText:function(e,t,r){this.keyBuffer=[e||\"\"],this.linewise=!!t,this.blockwise=!!r},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push(\"\\n\"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(K(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join(\"\")}},V.prototype={pushText:function(e,t,r,n,o){n&&\"\\n\"!==r.charAt(r.length-1)&&(r+=\"\\n\");var i=this.isValidRegister(e)?this.getRegister(e):null;if(i)x(e)?i.pushText(r,n):i.setText(r,n,o),this.unnamedRegister.setText(i.toString(),n);else{switch(t){case\"yank\":this.registers[0]=new W(r,n,o);break;case\"delete\":case\"change\":-1==r.indexOf(\"\\n\")?this.registers[\"-\"]=new W(r,n):(this.shiftNumericRegisters_(),this.registers[1]=new W(r,n))}this.unnamedRegister.setText(r,n,o)}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new W),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&b(e,C)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(\"\"+(e-1))}},D.prototype={nextMatch:function(e,t){var r=this.historyBuffer,n=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var o=this.iterator+n;t?o>=0:o<r.length;o+=n)for(var i=r[o],a=0;a<=i.length;a++)if(this.initialPrefix==i.substring(0,a))return this.iterator=o,i;return o>=r.length?(this.iterator=r.length,this.initialPrefix):o<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var U={matchCommand:function(e,t,r,n){var o,i=function(e,t,r,n){for(var o,i=[],a=[],s=0;s<t.length;s++){var l=t[s];\"insert\"==r&&\"insert\"!=l.context||l.context&&l.context!=r||n.operator&&\"action\"==l.type||!(o=X(e,l.keys))||(\"partial\"==o&&i.push(l),\"full\"==o&&a.push(l))}return{partial:i.length&&i,full:a.length&&a}}(e,t,n,r);if(!i.full&&!i.partial)return{type:\"none\"};if(!i.full&&i.partial)return{type:\"partial\"};for(var a=0;a<i.full.length;a++){var s=i.full[a];o||(o=s)}if(\"<character>\"==o.keys.slice(-11)){var l=function(e){var t=/^.*(<[^>]+>)$/.exec(e),r=t?t[1]:e.slice(-1);if(r.length>1)switch(r){case\"<CR>\":r=\"\\n\";break;case\"<Space>\":r=\" \";break;default:r=\"\"}return r}(e);if(!l)return{type:\"none\"};r.selectedCharacter=l}return{type:\"full\",command:o}},processCommand:function(e,t,r){switch(t.inputState.repeatOverride=r.repeatOverride,r.type){case\"motion\":this.processMotion(e,t,r);break;case\"operator\":this.processOperator(e,t,r);break;case\"operatorMotion\":this.processOperatorMotion(e,t,r);break;case\"action\":this.processAction(e,t,r);break;case\"search\":this.processSearch(e,t,r);break;case\"ex\":case\"keyToEx\":this.processEx(e,t,r)}},processMotion:function(e,t,r){t.inputState.motion=r.motion,t.inputState.motionArgs=Z(r.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,r){var n=t.inputState;if(n.operator){if(n.operator==r.operator)return n.motion=\"expandToLine\",n.motionArgs={linewise:!0},void this.evalInput(e,t);F(e)}n.operator=r.operator,n.operatorArgs=Z(r.operatorArgs),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,r){var n=t.visualMode,o=Z(r.operatorMotionArgs);o&&n&&o.visualLine&&(t.visualLine=!0),this.processOperator(e,t,r),n||this.processMotion(e,t,r)},processAction:function(e,t,r){var n=t.inputState,o=n.getRepeat(),i=!!o,a=Z(r.actionArgs)||{};n.selectedCharacter&&(a.selectedCharacter=n.selectedCharacter),r.operator&&this.processOperator(e,t,r),r.motion&&this.processMotion(e,t,r),(r.motion||r.operator)&&this.evalInput(e,t),a.repeat=o||1,a.repeatIsExplicit=i,a.registerName=n.registerName,F(e),t.lastMotion=null,r.isEdit&&this.recordLastEdit(t,n,r),Q[r.action](e,a,t)},processSearch:function(t,r,n){if(t.getSearchCursor){var o=n.searchArgs.forward,i=n.searchArgs.wholeWordOnly;Ae(t).setReversed(!o);var a=o?\"/\":\"?\",s=Ae(t).getQuery(),l=t.getScrollInfo();switch(n.searchArgs.querySrc){case\"prompt\":var c=O.macroModeState;c.isPlaying?f(p=c.replaySearchQueries.shift(),!0,!1):Ie(t,{onClose:function(e){t.scrollTo(l.left,l.top),f(e,!0,!0);var r=O.macroModeState;r.isRecording&&function(e,t){if(!e.isPlaying){var r=e.latestRegister,n=O.registerController.getRegister(r);n&&n.pushSearchQuery&&n.pushSearchQuery(t)}}(r,e)},prefix:a,desc:Be,onKeyUp:function(r,n,i){var a,s,c,u=e.keyName(r);\"Up\"==u||\"Down\"==u?(a=\"Up\"==u,s=r.target?r.target.selectionEnd:0,i(n=O.searchHistoryController.nextMatch(n,a)||\"\"),s&&r.target&&(r.target.selectionEnd=r.target.selectionStart=Math.min(s,r.target.value.length))):\"Left\"!=u&&\"Right\"!=u&&\"Ctrl\"!=u&&\"Alt\"!=u&&\"Shift\"!=u&&O.searchHistoryController.reset();try{c=Ke(t,n,!0,!0)}catch(r){}c?t.scrollIntoView(Pe(t,!o,c),30):(je(t),t.scrollTo(l.left,l.top))},onKeyDown:function(r,n,o){var i=e.keyName(r);\"Esc\"==i||\"Ctrl-C\"==i||\"Ctrl-[\"==i||\"Backspace\"==i&&\"\"==n?(O.searchHistoryController.pushInput(n),O.searchHistoryController.reset(),Ke(t,s),je(t),t.scrollTo(l.left,l.top),e.e_stop(r),F(t),o(),t.focus()):\"Up\"==i||\"Down\"==i?e.e_stop(r):\"Ctrl-U\"==i&&(e.e_stop(r),o(\"\"))}});break;case\"wordUnderCursor\":var u=me(t,!1,0,!1,!0),h=!0;if(u||(u=me(t,!1,0,!1,!1),h=!1),!u)return;var p=t.getLine(u.start.line).substring(u.start.ch,u.end.ch);p=h&&i?\"\\\\b\"+p+\"\\\\b\":p.replace(/([.?*+$\\[\\]\\/\\\\(){}|\\-])/g,\"\\\\$1\"),O.jumpList.cachedCursor=t.getCursor(),t.setCursor(u.start),f(p,!0,!1)}}function f(e,o,i){O.searchHistoryController.pushInput(e),O.searchHistoryController.reset();try{Ke(t,e,o,i)}catch(r){return Oe(t,\"Invalid regex: \"+e),void F(t)}U.processMotion(t,r,{type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:n.searchArgs.toJumplist}})}},processEx:function(t,r,n){function o(e){O.exCommandHistoryController.pushInput(e),O.exCommandHistoryController.reset(),Ve.processCommand(t,e)}function i(r,n,o){var i,a,s=e.keyName(r);(\"Esc\"==s||\"Ctrl-C\"==s||\"Ctrl-[\"==s||\"Backspace\"==s&&\"\"==n)&&(O.exCommandHistoryController.pushInput(n),O.exCommandHistoryController.reset(),e.e_stop(r),F(t),o(),t.focus()),\"Up\"==s||\"Down\"==s?(e.e_stop(r),i=\"Up\"==s,a=r.target?r.target.selectionEnd:0,o(n=O.exCommandHistoryController.nextMatch(n,i)||\"\"),a&&r.target&&(r.target.selectionEnd=r.target.selectionStart=Math.min(a,r.target.value.length))):\"Ctrl-U\"==s?(e.e_stop(r),o(\"\")):\"Left\"!=s&&\"Right\"!=s&&\"Ctrl\"!=s&&\"Alt\"!=s&&\"Shift\"!=s&&O.exCommandHistoryController.reset()}\"keyToEx\"==n.type?Ve.processCommand(t,n.exArgs.input):r.visualMode?Ie(t,{onClose:o,prefix:\":\",value:\"'<,'>\",onKeyDown:i,selectValueOnOpen:!1}):Ie(t,{onClose:o,prefix:\":\",onKeyDown:i})},evalInput:function(e,t){var r,o,i,a,s=t.inputState,l=s.motion,c=s.motionArgs||{},u=s.operator,h=s.operatorArgs||{},p=s.registerName,f=t.sel,d=ee(t.visualMode?z(e,f.head):e.getCursor(\"head\")),m=ee(t.visualMode?z(e,f.anchor):e.getCursor(\"anchor\")),g=ee(d),v=ee(m);if(u&&this.recordLastEdit(t,s),(i=void 0!==s.repeatOverride?s.repeatOverride:s.getRepeat())>0&&c.explicitRepeat?c.repeatIsExplicit=!0:(c.noRepeat||!c.explicitRepeat&&0===i)&&(i=1,c.repeatIsExplicit=!1),s.selectedCharacter&&(c.selectedCharacter=h.selectedCharacter=s.selectedCharacter),c.repeat=i,F(e),l){var y=J[l](e,d,c,t);if(t.lastMotion=J[l],!y)return;if(c.toJumplist){var k=O.jumpList,C=k.cachedCursor;C?(ge(e,C,y),delete k.cachedCursor):ge(e,d,y)}y instanceof Array?(o=y[0],r=y[1]):r=y,r||(r=ee(d)),t.visualMode?(t.visualBlock&&r.ch===1/0||(r=z(e,r,t.visualBlock)),o&&(o=z(e,o,!0)),o=o||v,f.anchor=o,f.head=r,he(e),Me(e,t,\"<\",re(o,r)?o:r),Me(e,t,\">\",re(o,r)?r:o)):u||(r=z(e,r),e.setCursor(r.line,r.ch))}if(u){if(h.lastSel){o=v;var w=h.lastSel,M=Math.abs(w.head.line-w.anchor.line),x=Math.abs(w.head.ch-w.anchor.ch);r=w.visualLine?n(v.line+M,v.ch):w.visualBlock?n(v.line+M,v.ch+x):w.head.line==w.anchor.line?n(v.line,v.ch+x):n(v.line+M,v.ch),t.visualMode=!0,t.visualLine=w.visualLine,t.visualBlock=w.visualBlock,f=t.sel={anchor:o,head:r},he(e)}else t.visualMode&&(h.lastSel={anchor:ee(f.anchor),head:ee(f.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var A,b,L,T,R;if(t.visualMode){if(A=ne(f.head,f.anchor),b=oe(f.head,f.anchor),L=t.visualLine||h.linewise,R=pe(e,{anchor:A,head:b},T=t.visualBlock?\"block\":L?\"line\":\"char\"),L){var E=R.ranges;if(\"block\"==T)for(var B=0;B<E.length;B++)E[B].head.ch=ae(e,E[B].head.line);else\"line\"==T&&(E[0].head=n(E[0].head.line+1,0))}}else{if(A=ee(o||v),re(b=ee(r||g),A)){var I=A;A=b,b=I}(L=c.linewise||h.linewise)?(a=b,A.ch=0,a.ch=0,a.line++):c.forward&&function(e,t,r){var n=e.getRange(t,r);if(/\\n\\s*$/.test(n)){var o=n.split(\"\\n\");o.pop();for(var i=o.pop();o.length>0&&i&&S(i);i=o.pop())r.line--,r.ch=0;i?(r.line--,r.ch=ae(e,r.line)):r.ch=0}}(e,A,b),R=pe(e,{anchor:A,head:b},T=\"char\",!c.inclusive||L)}e.setSelections(R.ranges,R.primary),t.lastMotion=null,h.repeat=i,h.registerName=p,h.linewise=L;var K=q[u](e,h,R.ranges,v,r);t.visualMode&&fe(e,null!=K),K&&e.setCursor(K)}},recordLastEdit:function(e,t,r){var n=O.macroModeState;n.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=r,n.lastInsertModeChanges.changes=[],n.lastInsertModeChanges.expectCursorActivityForChange=!1)}},J={moveToTopLine:function(e,t,r){var o=He(e).top+r.repeat-1;return n(o,de(e.getLine(o)))},moveToMiddleLine:function(e){var t=He(e),r=Math.floor(.5*(t.top+t.bottom));return n(r,de(e.getLine(r)))},moveToBottomLine:function(e,t,r){var o=He(e).bottom-r.repeat+1;return n(o,de(e.getLine(o)))},expandToLine:function(e,t,r){return n(t.line+r.repeat-1,1/0)},findNext:function(e,t,r){var n=Ae(e),o=n.getQuery();if(o){var i=!r.forward;return i=n.isReversed()?!i:i,Ne(e,o),Pe(e,i,o,r.repeat)}},goToMark:function(e,t,r,n){var o=_e(e,n,r.selectedCharacter);return o?r.linewise?{line:o.line,ch:de(e.getLine(o.line))}:o:null},moveToOtherHighlightedEnd:function(e,t,r,o){if(o.visualBlock&&r.sameLine){var i=o.sel;return[z(e,n(i.anchor.line,i.head.ch)),z(e,n(i.head.line,i.anchor.ch))]}return[o.sel.head,o.sel.anchor]},jumpToMark:function(e,t,r,o){for(var i=t,a=0;a<r.repeat;a++){var s=i;for(var l in o.marks)if(M(l)){var c=o.marks[l].find();if(!((r.forward?re(c,s):re(s,c))||r.linewise&&c.line==s.line)){var u=te(s,i),h=r.forward?ie(s,c,i):ie(i,c,s);(u||h)&&(i=c)}}}return r.linewise&&(i=n(i.line,de(e.getLine(i.line)))),i},moveByCharacters:function(e,t,r){var o=t,i=r.repeat,a=r.forward?o.ch+i:o.ch-i;return n(o.line,a)},moveByLines:function(e,t,r,o){var i=t,a=i.ch;switch(o.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:a=o.lastHPos;break;default:o.lastHPos=a}var s=r.repeat+(r.repeatOffset||0),l=r.forward?i.line+s:i.line-s,c=e.firstLine(),u=e.lastLine();return l<c&&i.line==c?this.moveToStartOfLine(e,t,r,o):l>u&&i.line==u?this.moveToEol(e,t,r,o):(r.toFirstChar&&(a=de(e.getLine(l)),o.lastHPos=a),o.lastHSPos=e.charCoords(n(l,a),\"div\").left,n(l,a))},moveByDisplayLines:function(e,t,r,o){var i=t;switch(o.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:o.lastHSPos=e.charCoords(i,\"div\").left}var a=r.repeat;if((l=e.findPosV(i,r.forward?a:-a,\"line\",o.lastHSPos)).hitSide)if(r.forward)var s={top:e.charCoords(l,\"div\").top+8,left:o.lastHSPos},l=e.coordsChar(s,\"div\");else{var c=e.charCoords(n(e.firstLine(),0),\"div\");c.left=o.lastHSPos,l=e.coordsChar(c,\"div\")}return o.lastHPos=l.ch,l},moveByPage:function(e,t,r){var n=t,o=r.repeat;return e.findPosV(n,r.forward?o:-o,\"page\")},moveByParagraph:function(e,t,r){var n=r.forward?1:-1;return xe(e,t,r.repeat,n)},moveBySentence:function(e,t,r){var o=r.forward?1:-1;return function(e,t,r,o){function i(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!w(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=t.dir>0?0:t.line.length-1}else t.pos+=t.dir}function a(e,t,r,n){var o=e.getLine(t),a=\"\"===o,s={line:o,ln:t,pos:r,dir:n},l={ln:s.ln,pos:s.pos},c=\"\"===s.line;for(i(e,s);null!==s.line;){if(l.ln=s.ln,l.pos=s.pos,\"\"===s.line&&!c)return{ln:s.ln,pos:s.pos};if(a&&\"\"!==s.line&&!S(s.line[s.pos]))return{ln:s.ln,pos:s.pos};!A(s.line[s.pos])||a||s.pos!==s.line.length-1&&!S(s.line[s.pos+1])||(a=!0),i(e,s)}var o=e.getLine(l.ln);l.pos=0;for(var u=o.length-1;u>=0;--u)if(!S(o[u])){l.pos=u;break}return l}function s(e,t,r,n){var o=e.getLine(t),a={line:o,ln:t,pos:r,dir:n},s={ln:a.ln,pos:null},l=\"\"===a.line;for(i(e,a);null!==a.line;){if(\"\"===a.line&&!l)return null!==s.pos?s:{ln:a.ln,pos:a.pos};if(A(a.line[a.pos])&&null!==s.pos&&(a.ln!==s.ln||a.pos+1!==s.pos))return s;\"\"===a.line||S(a.line[a.pos])||(l=!1,s={ln:a.ln,pos:a.pos}),i(e,a)}var o=e.getLine(s.ln);s.pos=0;for(var c=0;c<o.length;++c)if(!S(o[c])){s.pos=c;break}return s}for(var l={ln:t.line,pos:t.ch};r>0;)l=o<0?s(e,l.ln,l.pos,o):a(e,l.ln,l.pos,o),r--;return n(l.ln,l.pos)}(e,t,r.repeat,o)},moveByScroll:function(e,t,r,n){var o=e.getScrollInfo(),i=null,a=r.repeat;a||(a=o.clientHeight/(2*e.defaultTextHeight()));var s=e.charCoords(t,\"local\");if(r.repeat=a,!(i=J.moveByDisplayLines(e,t,r,n)))return null;var l=e.charCoords(i,\"local\");return e.scrollTo(null,o.top+l.top-s.top),i},moveByWords:function(e,t,r){return function(e,t,r,o,i,a){var s=ee(t),l=[];(o&&!i||!o&&i)&&r++;for(var c=!(o&&i),u=0;u<r;u++){var h=Ce(e,t,o,a,c);if(!h){var p=ae(e,e.lastLine());l.push(o?{line:e.lastLine(),from:p,to:p}:{line:0,from:0,to:0});break}l.push(h),t=n(h.line,o?h.to-1:h.from)}var f=l.length!=r,d=l[0],m=l.pop();return o&&!i?(f||d.from==s.ch&&d.line==s.line||(m=l.pop()),n(m.line,m.from)):o&&i?n(m.line,m.to-1):!o&&i?(f||d.to==s.ch&&d.line==s.line||(m=l.pop()),n(m.line,m.to)):n(m.line,m.from)}(e,t,r.repeat,!!r.forward,!!r.wordEnd,!!r.bigWord)},moveTillCharacter:function(e,t,r){var n=we(e,r.repeat,r.forward,r.selectedCharacter),o=r.forward?-1:1;return ve(o,r),n?(n.ch+=o,n):null},moveToCharacter:function(e,t,r){var n=r.repeat;return ve(0,r),we(e,n,r.forward,r.selectedCharacter)||t},moveToSymbol:function(e,t,r){return function(e,t,r,o){var i=ee(e.getCursor()),a=r?1:-1,s=r?e.lineCount():-1,l=i.ch,c=i.line,u=e.getLine(c),h={lineText:u,nextCh:u.charAt(l),lastCh:null,index:l,symb:o,reverseSymb:(r?{\")\":\"(\",\"}\":\"{\"}:{\"(\":\")\",\"{\":\"}\"})[o],forward:r,depth:0,curMoveThrough:!1},p=ye[o];if(!p)return i;var f=ke[p].init,d=ke[p].isComplete;for(f&&f(h);c!==s&&t;){if(h.index+=a,h.nextCh=h.lineText.charAt(h.index),!h.nextCh){if(c+=a,h.lineText=e.getLine(c)||\"\",a>0)h.index=0;else{var m=h.lineText.length;h.index=m>0?m-1:0}h.nextCh=h.lineText.charAt(h.index)}d(h)&&(i.line=c,i.ch=h.index,t--)}return h.nextCh||h.curMoveThrough?n(c,h.index):i}(e,r.repeat,r.forward,r.selectedCharacter)||t},moveToColumn:function(e,t,r,o){var i,a,s,l=r.repeat;return o.lastHPos=l-1,o.lastHSPos=e.charCoords(t,\"div\").left,a=l,s=(i=e).getCursor().line,z(i,n(s,a-1))},moveToEol:function(e,t,r,o){var i=t;o.lastHPos=1/0;var a=n(i.line+r.repeat-1,1/0),s=e.clipPos(a);return s.ch--,o.lastHSPos=e.charCoords(s,\"div\").left,a},moveToFirstNonWhiteSpaceCharacter:function(e,t){var r=t;return n(r.line,de(e.getLine(r.line)))},moveToMatchedSymbol:function(e,t){for(var r,o=t,i=o.line,a=o.ch,s=e.getLine(i);a<s.length;a++)if((r=s.charAt(a))&&-1!=\"()[]{}\".indexOf(r)){var l=e.getTokenTypeAt(n(i,a+1));if(\"string\"!==l&&\"comment\"!==l)break}return a<s.length?e.findMatchingBracket(n(i,a)).to:o},moveToStartOfLine:function(e,t){return n(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,r){var o=r.forward?e.lastLine():e.firstLine();return r.repeatIsExplicit&&(o=r.repeat-e.getOption(\"firstLineNumber\")),n(o,de(e.getLine(o)))},textObjectManipulation:function(e,t,r,o){var i=r.selectedCharacter;\"b\"==i?i=\"(\":\"B\"==i&&(i=\"{\");var a,s,l,c,u,h,p,f,d=!r.textObjectInner;if({\"(\":\")\",\")\":\"(\",\"{\":\"}\",\"}\":\"{\",\"[\":\"]\",\"]\":\"[\"}[i])a=function(e,t,r,o){var i,a,s=t,l={\"(\":/[()]/,\")\":/[()]/,\"[\":/[[\\]]/,\"]\":/[[\\]]/,\"{\":/[{}]/,\"}\":/[{}]/}[r],c={\"(\":\"(\",\")\":\"(\",\"[\":\"[\",\"]\":\"[\",\"{\":\"{\",\"}\":\"{\"}[r],u=e.getLine(s.line).charAt(s.ch)===c?1:0;if(i=e.scanForBracket(n(s.line,s.ch+u),-1,void 0,{bracketRegex:l}),a=e.scanForBracket(n(s.line,s.ch+u),1,void 0,{bracketRegex:l}),!i||!a)return{start:s,end:s};if(i=i.pos,a=a.pos,i.line==a.line&&i.ch>a.ch||i.line>a.line){var h=i;i=a,a=h}return o?a.ch+=1:i.ch+=1,{start:i,end:a}}(e,t,i,d);else if({\"'\":!0,'\"':!0}[i])a=function(e,t,r,o){var i,a,s,l,c=ee(t),u=e.getLine(c.line).split(\"\"),h=u.indexOf(r);if(c.ch<h?c.ch=h:h<c.ch&&u[c.ch]==r&&(a=c.ch,--c.ch),u[c.ch]!=r||a)for(s=c.ch;s>-1&&!i;s--)u[s]==r&&(i=s+1);else i=c.ch+1;if(i&&!a)for(s=i,l=u.length;s<l&&!a;s++)u[s]==r&&(a=s);return i&&a?(o&&(--i,++a),{start:n(c.line,i),end:n(c.line,a)}):{start:c,end:c}}(e,t,i,d);else if(\"W\"===i)a=me(e,d,0,!0);else if(\"w\"===i)a=me(e,d,0,!1);else{if(\"p\"!==i)return null;if(a=xe(e,t,r.repeat,0,d),r.linewise=!0,o.visualMode)o.visualLine||(o.visualLine=!0);else{var m=o.inputState.operatorArgs;m&&(m.linewise=!0),a.end.line--}}return e.state.vim.visualMode?(s=e,l=a.start,c=a.end,h=s.state.vim.sel,p=h.head,f=h.anchor,re(c,l)&&(u=c,c=l,l=u),re(p,f)?(p=ne(l,p),f=oe(f,c)):(f=ne(l,f),-1==(p=G(p=oe(p,c),0,-1)).ch&&p.line!=s.firstLine()&&(p=n(p.line-1,ae(s,p.line-1)))),[f,p]):[a.start,a.end]},repeatLastCharacterSearch:function(e,t,r){var n=O.lastCharacterSearch,o=r.repeat,i=r.forward===n.forward,a=(n.increment?1:0)*(i?-1:1);e.moveH(-a,\"char\"),r.inclusive=!!i;var s=we(e,o,i,n.selectedCharacter);return s?(s.ch+=a,s):(e.moveH(a,\"char\"),t)}};function $(e,t){for(var r=[],n=0;n<t;n++)r.push(e);return r}var q={change:function(t,r,o){var i,a,s=t.state.vim;if(O.macroModeState.lastInsertModeChanges.inVisualBlock=s.visualBlock,s.visualMode){a=t.getSelection();var l=$(\"\",o.length);t.replaceSelections(l),i=ne(o[0].head,o[0].anchor)}else{var c=o[0].anchor,u=o[0].head;a=t.getRange(c,u);var h=s.lastEditInputState||{};if(\"moveByWords\"==h.motion&&!S(a)){var p=/\\s+$/.exec(a);p&&h.motionArgs&&h.motionArgs.forward&&(u=G(u,0,-p[0].length),a=a.slice(0,-p[0].length))}var f=new n(c.line-1,Number.MAX_VALUE),d=t.firstLine()==t.lastLine();u.line>t.lastLine()&&r.linewise&&!d?t.replaceRange(\"\",f,u):t.replaceRange(\"\",c,u),r.linewise&&(d||(t.setCursor(f),e.commands.newlineAndIndent(t)),c.ch=Number.MAX_VALUE),i=c}O.registerController.pushText(r.registerName,\"change\",a,r.linewise,o.length>1),Q.enterInsertMode(t,{head:i},t.state.vim)},delete:function(e,t,r){var o,i,a=e.state.vim;if(a.visualBlock){i=e.getSelection();var s=$(\"\",r.length);e.replaceSelections(s),o=r[0].anchor}else{var l=r[0].anchor,c=r[0].head;t.linewise&&c.line!=e.firstLine()&&l.line==e.lastLine()&&l.line==c.line-1&&(l.line==e.firstLine()?l.ch=0:l=n(l.line-1,ae(e,l.line-1))),i=e.getRange(l,c),e.replaceRange(\"\",l,c),o=l,t.linewise&&(o=J.moveToFirstNonWhiteSpaceCharacter(e,l))}return O.registerController.pushText(t.registerName,\"delete\",i,t.linewise,a.visualBlock),z(e,o,a.insertMode)},indent:function(e,t,r){var n=e.state.vim,o=r[0].anchor.line,i=n.visualBlock?r[r.length-1].anchor.line:r[0].head.line,a=n.visualMode?t.repeat:1;t.linewise&&i--;for(var s=o;s<=i;s++)for(var l=0;l<a;l++)e.indentLine(s,t.indentRight);return J.moveToFirstNonWhiteSpaceCharacter(e,r[0].anchor)},changeCase:function(e,t,r,n,o){for(var i=e.getSelections(),a=[],s=t.toLower,l=0;l<i.length;l++){var c=i[l],u=\"\";if(!0===s)u=c.toLowerCase();else if(!1===s)u=c.toUpperCase();else for(var h=0;h<c.length;h++){var p=c.charAt(h);u+=x(p)?p.toLowerCase():p.toUpperCase()}a.push(u)}return e.replaceSelections(a),t.shouldMoveCursor?o:!e.state.vim.visualMode&&t.linewise&&r[0].anchor.line+1==r[0].head.line?J.moveToFirstNonWhiteSpaceCharacter(e,n):t.linewise?n:ne(r[0].anchor,r[0].head)},yank:function(e,t,r,n){var o=e.state.vim,i=e.getSelection(),a=o.visualMode?ne(o.sel.anchor,o.sel.head,r[0].head,r[0].anchor):n;return O.registerController.pushText(t.registerName,\"yank\",i,t.linewise,o.visualBlock),a}};var Q={jumpListWalk:function(e,t,r){if(!r.visualMode){var n=t.repeat,o=t.forward,i=O.jumpList.move(e,o?n:-n),a=i?i.find():void 0;a=a||e.getCursor(),e.setCursor(a)}},scroll:function(e,t,r){if(!r.visualMode){var n=t.repeat||1,o=e.defaultTextHeight(),i=e.getScrollInfo().top,a=o*n,s=t.forward?i+a:i-a,l=ee(e.getCursor()),c=e.charCoords(l,\"local\");if(t.forward)s>c.top?(l.line+=(s-c.top)/o,l.line=Math.ceil(l.line),e.setCursor(l),c=e.charCoords(l,\"local\"),e.scrollTo(null,c.top)):e.scrollTo(null,s);else{var u=s+e.getScrollInfo().clientHeight;u<c.bottom?(l.line-=(c.bottom-u)/o,l.line=Math.floor(l.line),e.setCursor(l),c=e.charCoords(l,\"local\"),e.scrollTo(null,c.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,s)}}},scrollToCursor:function(e,t){var r=e.getCursor().line,o=e.charCoords(n(r,0),\"local\"),i=e.getScrollInfo().clientHeight,a=o.top,s=o.bottom-a;switch(t.position){case\"center\":a=a-i/2+s;break;case\"bottom\":a=a-i+s}e.scrollTo(null,a)},replayMacro:function(e,t,r){var n=t.selectedCharacter,o=t.repeat,i=O.macroModeState;for(\"@\"==n&&(n=i.latestRegister);o--;)Je(e,r,i,n)},enterMacroRecordMode:function(e,t){var r=O.macroModeState,n=t.selectedCharacter;O.registerController.isValidRegister(n)&&r.enterMacroRecordMode(e,n)},toggleOverwrite:function(t){t.state.overwrite?(t.toggleOverwrite(!1),t.setOption(\"keyMap\",\"vim-insert\"),e.signal(t,\"vim-mode-change\",{mode:\"insert\"})):(t.toggleOverwrite(!0),t.setOption(\"keyMap\",\"vim-replace\"),e.signal(t,\"vim-mode-change\",{mode:\"replace\"}))},enterInsertMode:function(t,r,o){if(!t.getOption(\"readOnly\")){o.insertMode=!0,o.insertModeRepeat=r&&r.repeat||1;var i=r?r.insertAt:null,a=o.sel,s=r.head||t.getCursor(\"head\"),l=t.listSelections().length;if(\"eol\"==i)s=n(s.line,ae(t,s.line));else if(\"charAfter\"==i)s=G(s,0,1);else if(\"firstNonBlank\"==i)s=J.moveToFirstNonWhiteSpaceCharacter(t,s);else if(\"startOfSelectedArea\"==i)o.visualBlock?(s=n(Math.min(a.head.line,a.anchor.line),Math.min(a.head.ch,a.anchor.ch)),l=Math.abs(a.head.line-a.anchor.line)+1):s=a.head.line<a.anchor.line?a.head:n(a.anchor.line,0);else if(\"endOfSelectedArea\"==i)o.visualBlock?(s=n(Math.min(a.head.line,a.anchor.line),Math.max(a.head.ch+1,a.anchor.ch)),l=Math.abs(a.head.line-a.anchor.line)+1):s=a.head.line>=a.anchor.line?G(a.head,0,1):n(a.anchor.line,0);else if(\"inplace\"==i&&o.visualMode)return;t.setOption(\"disableInput\",!1),r&&r.replace?(t.toggleOverwrite(!0),t.setOption(\"keyMap\",\"vim-replace\"),e.signal(t,\"vim-mode-change\",{mode:\"replace\"})):(t.toggleOverwrite(!1),t.setOption(\"keyMap\",\"vim-insert\"),e.signal(t,\"vim-mode-change\",{mode:\"insert\"})),O.macroModeState.isPlaying||(t.on(\"change\",$e),e.on(t.getInputField(),\"keydown\",Ze)),o.visualMode&&fe(t),ce(t,s,l)}},toggleVisualMode:function(t,r,o){var i,a=r.repeat,s=t.getCursor();o.visualMode?o.visualLine^r.linewise||o.visualBlock^r.blockwise?(o.visualLine=!!r.linewise,o.visualBlock=!!r.blockwise,e.signal(t,\"vim-mode-change\",{mode:\"visual\",subMode:o.visualLine?\"linewise\":o.visualBlock?\"blockwise\":\"\"}),he(t)):fe(t):(o.visualMode=!0,o.visualLine=!!r.linewise,o.visualBlock=!!r.blockwise,i=z(t,n(s.line,s.ch+a-1),!0),o.sel={anchor:s,head:i},e.signal(t,\"vim-mode-change\",{mode:\"visual\",subMode:o.visualLine?\"linewise\":o.visualBlock?\"blockwise\":\"\"}),he(t),Me(t,o,\"<\",ne(s,i)),Me(t,o,\">\",oe(s,i)))},reselectLastSelection:function(t,r,n){var o=n.lastSelection;if(n.visualMode&&ue(t,n),o){var i=o.anchorMark.find(),a=o.headMark.find();if(!i||!a)return;n.sel={anchor:i,head:a},n.visualMode=!0,n.visualLine=o.visualLine,n.visualBlock=o.visualBlock,he(t),Me(t,n,\"<\",ne(i,a)),Me(t,n,\">\",oe(i,a)),e.signal(t,\"vim-mode-change\",{mode:\"visual\",subMode:n.visualLine?\"linewise\":n.visualBlock?\"blockwise\":\"\"})}},joinLines:function(e,t,r){var o,i;if(r.visualMode){if(o=e.getCursor(\"anchor\"),re(i=e.getCursor(\"head\"),o)){var a=i;i=o,o=a}i.ch=ae(e,i.line)-1}else{var s=Math.max(t.repeat,2);o=e.getCursor(),i=z(e,n(o.line+s-1,1/0))}for(var l=0,c=o.line;c<i.line;c++){l=ae(e,o.line),a=n(o.line+1,ae(e,o.line+1));var u=e.getRange(o,a);u=u.replace(/\\n\\s*/g,\" \"),e.replaceRange(u,o,a)}var h=n(o.line,l);r.visualMode&&fe(e,!1),e.setCursor(h)},newLineAndEnterInsertMode:function(t,r,o){o.insertMode=!0;var i=ee(t.getCursor());i.line!==t.firstLine()||r.after?(i.line=r.after?i.line:i.line-1,i.ch=ae(t,i.line),t.setCursor(i),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(t)):(t.replaceRange(\"\\n\",n(t.firstLine(),0)),t.setCursor(t.firstLine(),0)),this.enterInsertMode(t,{repeat:r.repeat},o)},paste:function(e,t,r){var o,i,a,s,l,c=ee(e.getCursor()),u=O.registerController.getRegister(t.registerName);if(y=u.toString()){if(t.matchIndent){var h=e.getOption(\"tabSize\"),p=function(e){var t=e.split(\"\\t\").length-1,r=e.split(\" \").length-1;return t*h+1*r},f=e.getLine(e.getCursor().line),d=p(f.match(/^\\s*/)[0]),m=y.replace(/\\n$/,\"\"),g=y!==m,v=p(y.match(/^\\s*/)[0]),y=m.replace(/^\\s*/gm,function(t){var r=d+(p(t)-v);if(r<0)return\"\";if(e.getOption(\"indentWithTabs\")){var n=Math.floor(r/h);return Array(n+1).join(\"\\t\")}return Array(r+1).join(\" \")});y+=g?\"\\n\":\"\"}t.repeat>1&&(y=Array(t.repeat+1).join(y));var k,C,w,M,x,S,A,b,L,T,R=u.linewise,E=u.blockwise;if(R)r.visualMode?y=r.visualLine?y.slice(0,-1):\"\\n\"+y.slice(0,y.length-1)+\"\\n\":t.after?(y=\"\\n\"+y.slice(0,y.length-1),c.ch=ae(e,c.line)):c.ch=0;else{if(E){y=y.split(\"\\n\");for(var B=0;B<y.length;B++)y[B]=\"\"==y[B]?\" \":y[B]}c.ch+=t.after?1:0}if(r.visualMode){var I;r.lastPastedText=y;var K=(w=e,x=(M=r).lastSelection,M.visualMode?(S=w.listSelections(),A=S[0],b=S[S.length-1],L=re(A.anchor,A.head)?A.anchor:A.head,T=re(b.anchor,b.head)?b.head:b.anchor,[L,T]):function(){var e=w.getCursor(),t=w.getCursor(),r=x.visualBlock;if(r){var o=r.width,i=r.height;t=n(e.line+i,e.ch+o);for(var a=[],s=e.line;s<t.line;s++){var l=n(s,e.ch),c=n(s,t.ch),u={anchor:l,head:c};a.push(u)}w.setSelections(a)}else{var h=x.anchorMark.find(),p=x.headMark.find(),f=p.line-h.line,d=p.ch-h.ch;t={line:t.line+f,ch:f?t.ch:d+t.ch},x.visualLine&&(e=n(e.line,0),t=n(t.line,ae(w,t.line))),w.setSelection(e,t)}return[e,t]}()),N=K[0],P=K[1],j=e.getSelection(),H=e.listSelections(),_=new Array(H.length).join(\"1\").split(\"1\");r.lastSelection&&(I=r.lastSelection.headMark.find()),O.registerController.unnamedRegister.setText(j),E?(e.replaceSelections(_),P=n(N.line+y.length-1,N.ch),e.setCursor(N),le(e,P),e.replaceSelections(y),k=N):r.visualBlock?(e.replaceSelections(_),e.setCursor(N),e.replaceRange(y,N,N),k=N):(e.replaceRange(y,N,P),k=e.posFromIndex(e.indexFromPos(N)+y.length-1)),I&&(r.lastSelection.headMark=e.setBookmark(I)),R&&(k.ch=0)}else if(E){for(e.setCursor(c),B=0;B<y.length;B++){var F=c.line+B;F>e.lastLine()&&e.replaceRange(\"\\n\",n(F,0)),ae(e,F)<c.ch&&(o=e,i=F,a=c.ch,void 0,void 0,s=ae(o,i),l=new Array(a-s+1).join(\" \"),o.setCursor(n(i,s)),o.replaceRange(l,o.getCursor()))}e.setCursor(c),le(e,n(c.line+y.length-1,c.ch)),e.replaceSelections(y),k=c}else e.replaceRange(y,c),R&&t.after?k=n(c.line+1,de(e.getLine(c.line+1))):R&&!t.after?k=n(c.line,de(e.getLine(c.line))):!R&&t.after?(C=e.indexFromPos(c),k=e.posFromIndex(C+y.length-1)):(C=e.indexFromPos(c),k=e.posFromIndex(C+y.length));r.visualMode&&fe(e,!1),e.setCursor(k)}},undo:function(t,r){t.operation(function(){Y(t,e.commands.undo,r.repeat)(),t.setCursor(t.getCursor(\"anchor\"))})},redo:function(t,r){Y(t,e.commands.redo,r.repeat)()},setRegister:function(e,t,r){r.inputState.registerName=t.selectedCharacter},setMark:function(e,t,r){Me(e,r,t.selectedCharacter,e.getCursor())},replace:function(t,r,o){var i,a,s=r.selectedCharacter,l=t.getCursor(),c=t.listSelections();if(o.visualMode)l=t.getCursor(\"start\"),a=t.getCursor(\"end\");else{var u=t.getLine(l.line);(i=l.ch+r.repeat)>u.length&&(i=u.length),a=n(l.line,i)}if(\"\\n\"==s)o.visualMode||t.replaceRange(\"\",l,a),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(t);else{var h=t.getRange(l,a);if(h=h.replace(/[^\\n]/g,s),o.visualBlock){var p=new Array(t.getOption(\"tabSize\")+1).join(\" \");h=(h=t.getSelection()).replace(/\\t/g,p).replace(/[^\\n]/g,s).split(\"\\n\"),t.replaceSelections(h)}else t.replaceRange(h,l,a);o.visualMode?(l=re(c[0].anchor,c[0].head)?c[0].anchor:c[0].head,t.setCursor(l),fe(t,!1)):t.setCursor(G(a,0,-1))}},incrementNumberToken:function(e,t){for(var r,o,i,a,s=e.getCursor(),l=e.getLine(s.line),c=/(-?)(?:(0x)([\\da-f]+)|(0b|0|)(\\d+))/gi;null!==(r=c.exec(l))&&(i=(o=r.index)+r[0].length,!(s.ch<i)););if((t.backtrack||!(i<=s.ch))&&r){var u=r[2]||r[4],h=r[3]||r[5],p=t.increase?1:-1,f={\"0b\":2,0:8,\"\":10,\"0x\":16}[u.toLowerCase()];a=(parseInt(r[1]+h,f)+p*t.repeat).toString(f);var d=u?new Array(h.length-a.length+1+r[1].length).join(\"0\"):\"\";a=\"-\"===a.charAt(0)?\"-\"+u+d+a.substr(1):u+d+a;var m=n(s.line,o),g=n(s.line,i);e.replaceRange(a,m,g),e.setCursor(n(s.line,o+a.length-1))}},repeatLastEdit:function(e,t,r){if(r.lastEditInputState){var n=t.repeat;n&&t.repeatIsExplicit?r.lastEditInputState.repeatOverride=n:n=r.lastEditInputState.repeatOverride||n,Ge(e,r,n,!1)}},indent:function(e,t){e.indentLine(e.getCursor().line,t.indentRight)},exitInsertMode:De};function z(e,t,r){var o=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),i=ae(e,o)-1;i=r?i+1:i;var a=Math.min(Math.max(0,t.ch),i);return n(o,a)}function Z(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function G(e,t,r){return\"object\"==typeof t&&(r=t.ch,t=t.line),n(e.line+t,e.ch+r)}function X(e,t){if(\"<character>\"==t.slice(-11)){var r=t.length-11,n=e.slice(0,r),o=t.slice(0,r);return n==o&&e.length>r?\"full\":0==o.indexOf(n)&&\"partial\"}return e==t?\"full\":0==t.indexOf(e)&&\"partial\"}function Y(e,t,r){return function(){for(var n=0;n<r;n++)t(e)}}function ee(e){return n(e.line,e.ch)}function te(e,t){return e.ch==t.ch&&e.line==t.line}function re(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function ne(e,t){return arguments.length>2&&(t=ne.apply(void 0,Array.prototype.slice.call(arguments,1))),re(e,t)?e:t}function oe(e,t){return arguments.length>2&&(t=oe.apply(void 0,Array.prototype.slice.call(arguments,1))),re(e,t)?t:e}function ie(e,t,r){var n=re(e,t),o=re(t,r);return n&&o}function ae(e,t){return e.getLine(t).length}function se(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function le(e,t){var r=[],o=e.listSelections(),i=ee(e.clipPos(t)),a=!te(t,i),s=function(e,t,r){for(var n=0;n<e.length;n++){var o=\"head\"!=r&&te(e[n].anchor,t),i=\"anchor\"!=r&&te(e[n].head,t);if(o||i)return n}return-1}(o,e.getCursor(\"head\")),l=te(o[s].head,o[s].anchor),c=o.length-1,u=c-s>s?c:0,h=o[u].anchor,p=Math.min(h.line,i.line),f=Math.max(h.line,i.line),d=h.ch,m=i.ch,g=o[u].head.ch-d,v=m-d;g>0&&v<=0?(d++,a||m--):g<0&&v>=0?(d--,l||m++):g<0&&-1==v&&(d--,m++);for(var y=p;y<=f;y++){var k={anchor:new n(y,d),head:new n(y,m)};r.push(k)}return e.setSelections(r),t.ch=m,h.ch=d,h}function ce(e,t,r){for(var n=[],o=0;o<r;o++){var i=G(t,o,0);n.push({anchor:i,head:i})}e.setSelections(n,0)}function ue(e,t){var r=t.sel.anchor,n=t.sel.head;t.lastPastedText&&(n=e.posFromIndex(e.indexFromPos(r)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(r),headMark:e.setBookmark(n),anchor:ee(r),head:ee(n),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function he(e,t,r){var n=e.state.vim,o=pe(e,t=t||n.sel,r=r||n.visualLine?\"line\":n.visualBlock?\"block\":\"char\");e.setSelections(o.ranges,o.primary),Qe(e)}function pe(e,t,r,o){var i=ee(t.head),a=ee(t.anchor);if(\"char\"==r){var s=o||re(t.head,t.anchor)?0:1,l=re(t.head,t.anchor)?1:0;return i=G(t.head,0,s),{ranges:[{anchor:a=G(t.anchor,0,l),head:i}],primary:0}}if(\"line\"==r){if(re(t.head,t.anchor))i.ch=0,a.ch=ae(e,a.line);else{a.ch=0;var c=e.lastLine();i.line>c&&(i.line=c),i.ch=ae(e,i.line)}return{ranges:[{anchor:a,head:i}],primary:0}}if(\"block\"==r){for(var u=Math.min(a.line,i.line),h=Math.min(a.ch,i.ch),p=Math.max(a.line,i.line),f=Math.max(a.ch,i.ch)+1,d=p-u+1,m=i.line==u?0:d-1,g=[],v=0;v<d;v++)g.push({anchor:n(u+v,h),head:n(u+v,f)});return{ranges:g,primary:m}}}function fe(t,r){var n=t.state.vim;!1!==r&&t.setCursor(z(t,n.sel.head)),ue(t,n),n.visualMode=!1,n.visualLine=!1,n.visualBlock=!1,e.signal(t,\"vim-mode-change\",{mode:\"normal\"}),n.fakeCursor&&n.fakeCursor.clear()}function de(e){if(!e)return 0;var t=e.search(/\\S/);return-1==t?e.length:t}function me(e,t,r,o,i){for(var a,s,l=(s=(a=e).getCursor(\"head\"),1==a.getSelection().length&&(s=ne(s,a.getCursor(\"anchor\"))),s),c=e.getLine(l.line),u=l.ch,h=i?f[0]:d[0];!h(c.charAt(u));)if(++u>=c.length)return null;o?h=d[0]:(h=f[0])(c.charAt(u))||(h=f[1]);for(var p=u,m=u;h(c.charAt(p))&&p<c.length;)p++;for(;h(c.charAt(m))&&m>=0;)m--;if(m++,t){for(var g=p;/\\s/.test(c.charAt(p))&&p<c.length;)p++;if(g==p){for(var v=m;/\\s/.test(c.charAt(m-1))&&m>0;)m--;m||(m=v)}}return{start:n(l.line,m),end:n(l.line,p)}}function ge(e,t,r){te(t,r)||O.jumpList.add(e,t,r)}function ve(e,t){O.lastCharacterSearch.increment=e,O.lastCharacterSearch.forward=t.forward,O.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var ye={\"(\":\"bracket\",\")\":\"bracket\",\"{\":\"bracket\",\"}\":\"bracket\",\"[\":\"section\",\"]\":\"section\",\"*\":\"comment\",\"/\":\"comment\",m:\"method\",M:\"method\",\"#\":\"preprocess\"},ke={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?\"]\":\"[\")===e.symb?\"{\":\"}\"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t=\"*\"===e.lastCh&&\"/\"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb=\"m\"===e.symb?\"{\":\"}\",e.reverseSymb=\"{\"===e.symb?\"}\":\"{\"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if(\"#\"===e.nextCh){var t=e.lineText.match(/#(\\w+)/)[1];if(\"endif\"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if(\"if\"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if(\"else\"===t&&0===e.depth)return!0}return!1}}};function Ce(e,t,r,n,o){var i=t.line,a=t.ch,s=e.getLine(i),l=r?1:-1,c=n?d:f;if(o&&\"\"==s){if(i+=l,s=e.getLine(i),!w(e,i))return null;a=r?0:s.length}for(;;){if(o&&\"\"==s)return{from:0,to:0,line:i};for(var u=l>0?s.length:-1,h=u,p=u;a!=u;){for(var m=!1,g=0;g<c.length&&!m;++g)if(c[g](s.charAt(a))){for(h=a;a!=u&&c[g](s.charAt(a));)a+=l;if(m=h!=(p=a),h==t.ch&&i==t.line&&p==h+l)continue;return{from:Math.min(h,p+1),to:Math.max(h,p),line:i}}m||(a+=l)}if(!w(e,i+=l))return null;s=e.getLine(i),a=l>0?0:s.length}}function we(e,t,r,o){for(var i,a=e.getCursor(),s=a.ch,l=0;l<t;l++){if(-1==(c=s,u=e.getLine(a.line),h=o,p=!0,f=void 0,r?-1==(f=u.indexOf(h,c+1))||p||(f-=1):-1==(f=u.lastIndexOf(h,c-1))||p||(f+=1),i=f))return null;s=i}var c,u,h,p,f;return n(e.getCursor().line,i)}function Me(e,t,r,n){b(r,k)&&(t.marks[r]&&t.marks[r].clear(),t.marks[r]=e.setBookmark(n))}function xe(e,t,r,o,i){var a,s=t.line,l=e.firstLine(),c=e.lastLine(),u=s;function h(t){return!e.getLine(t)}function p(e,t,r){return r?h(e)!=h(e+t):!h(e)&&h(e+t)}if(o){for(;l<=u&&u<=c&&r>0;)p(u,o)&&r--,u+=o;return new n(u,0)}var f=e.state.vim;if(f.visualLine&&p(s,1,!0)){var d=f.sel.anchor;p(d.line,-1,!0)&&(i&&d.line==s||(s+=1))}var m=h(s);for(u=s;u<=c&&r;u++)p(u,1,!0)&&(i&&h(u)==m||r--);for(a=new n(u,0),u>c&&!m?m=!0:i=!1,u=s;u>l&&(i&&h(u)!=m&&u!=s||!p(u,-1,!0));u--);return{start:new n(u,0),end:a}}function Se(){}function Ae(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Se)}function be(e,t){var r=Le(e,t)||[];if(!r.length)return[];var n=[];if(0===r[0]){for(var o=0;o<r.length;o++)\"number\"==typeof r[o]&&n.push(e.substring(r[o]+1,r[o+1]));return n}}function Le(e,t){t||(t=\"/\");for(var r=!1,n=[],o=0;o<e.length;o++){var i=e.charAt(o);r||i!=t||n.push(o),r=!r&&\"\\\\\"==i}return n}T(\"pcre\",!0,\"boolean\"),Se.prototype={getQuery:function(){return O.query},setQuery:function(e){O.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return O.isReversed},setReversed:function(e){O.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var Te={\"\\\\n\":\"\\n\",\"\\\\r\":\"\\r\",\"\\\\t\":\"\\t\"};var Re={\"\\\\/\":\"/\",\"\\\\\\\\\":\"\\\\\",\"\\\\n\":\"\\n\",\"\\\\r\":\"\\r\",\"\\\\t\":\"\\t\"};function Ee(e,t,r){if(O.registerController.getRegister(\"/\").setText(e),e instanceof RegExp)return e;var n,o,i=Le(e,\"/\");return i.length?(n=e.substring(0,i[0]),o=-1!=e.substring(i[0]).indexOf(\"i\")):n=e,n?(E(\"pcre\")||(n=function(e){for(var t=!1,r=[],n=-1;n<e.length;n++){var o=e.charAt(n)||\"\",i=e.charAt(n+1)||\"\",a=i&&-1!=\"|(){\".indexOf(i);t?(\"\\\\\"===o&&a||r.push(o),t=!1):\"\\\\\"===o?(t=!0,i&&-1!=\"}\".indexOf(i)&&(a=!0),a&&\"\\\\\"!==i||r.push(o)):(r.push(o),a&&\"\\\\\"!==i&&r.push(\"\\\\\"))}return r.join(\"\")}(n)),r&&(t=/^[^A-Z]*$/.test(n)),new RegExp(n,t||o?\"i\":void 0)):null}function Oe(e,t){e.openNotification?e.openNotification('<span style=\"color: red\">'+t+\"</span>\",{bottom:!0,duration:5e3}):alert(t)}var Be=\"(Javascript regexp)\";function Ie(e,t){var r,n,o,i,a,s,l,c,u=(t.prefix||\"\")+\" \"+(t.desc||\"\"),h=(r=t.prefix,n=t.desc,o='<span style=\"font-family: monospace; white-space: pre\">'+(r||\"\")+'<input type=\"text\"></span>',n&&(o+=' <span style=\"color: #888\">'+n+\"</span>\"),o);i=e,a=h,s=u,l=t.onClose,c=t,i.openDialog?i.openDialog(a,l,{bottom:!0,value:c.value,onKeyDown:c.onKeyDown,onKeyUp:c.onKeyUp,selectValueOnOpen:!1}):l(prompt(s,\"\"))}function Ke(e,t,r,n){if(t){var o=Ae(e),i=Ee(t,!!r,!!n);if(i)return Ne(e,i),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var r=[\"global\",\"multiline\",\"ignoreCase\",\"source\"],n=0;n<r.length;n++){var o=r[n];if(e[o]!==t[o])return!1}return!0}return!1}(i,o.getQuery())?i:(o.setQuery(i),i)}}function Ne(e,t){var r=Ae(e),n=r.getOverlay();n&&t==n.query||(n&&e.removeOverlay(n),n=function(e){if(\"^\"==e.source.charAt(0))var t=!0;return{token:function(r){if(!t||r.sol()){var n=r.match(e,!1);if(n)return 0==n[0].length?(r.next(),\"searching\"):r.sol()||(r.backUp(1),e.exec(r.next()+n[0]))?(r.match(e),\"searching\"):(r.next(),null);for(;!r.eol()&&(r.next(),!r.match(e,!1)););}else r.skipToEnd()},query:e}}(t),e.addOverlay(n),e.showMatchesOnScrollbar&&(r.getScrollbarAnnotate()&&r.getScrollbarAnnotate().clear(),r.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),r.setOverlay(n))}function Pe(e,t,r,o){return void 0===o&&(o=1),e.operation(function(){for(var i=e.getCursor(),a=e.getSearchCursor(r,i),s=0;s<o;s++){var l=a.find(t);if(0==s&&l&&te(a.from(),i)&&(l=a.find(t)),!l&&!(a=e.getSearchCursor(r,t?n(e.lastLine()):n(e.firstLine(),0))).find(t))return}return a.from()})}function je(e){var t=Ae(e);e.removeOverlay(Ae(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function He(e){var t=e.getScrollInfo(),r=e.coordsChar({left:0,top:6+t.top},\"local\"),n=t.clientHeight-10+t.top,o=e.coordsChar({left:0,top:n},\"local\");return{top:r.line,bottom:o.line}}function _e(e,t,r){if(\"'\"==r){var n=e.doc.history.done,o=n[n.length-2];return o&&o.ranges&&o.ranges[0].head}if(\".\"==r){if(0==e.doc.history.lastModTime)return;var i=e.doc.history.done.filter(function(e){if(void 0!==e.changes)return e});return i.reverse(),i[0].changes[0].to}var a=t.marks[r];return a&&a.find()}var Fe=function(){this.buildCommandMap_()};Fe.prototype={processCommand:function(e,t,r){var n=this;e.operation(function(){e.curOp.isVimOp=!0,n._processCommand(e,t,r)})},_processCommand:function(t,r,n){var o=t.state.vim,i=O.registerController.getRegister(\":\"),a=i.toString();o.visualMode&&fe(t);var s=new e.StringStream(r);i.setText(r);var l,c,u=n||{};u.input=r;try{this.parseInput_(t,s,u)}catch(e){throw Oe(t,e),e}if(u.commandName){if(l=this.matchCommand_(u.commandName)){if(c=l.name,l.excludeFromCommandHistory&&i.setText(a),this.parseCommandArgs_(s,u,l),\"exToKey\"==l.type){for(var h=0;h<l.toKeys.length;h++)e.Vim.handleKey(t,l.toKeys[h],\"mapping\");return}if(\"exToEx\"==l.type)return void this.processCommand(t,l.toInput)}}else void 0!==u.line&&(c=\"move\");if(c)try{We[c](t,u),l&&l.possiblyAsync||!u.callback||u.callback()}catch(e){throw Oe(t,e),e}else Oe(t,'Not an editor command \":'+r+'\"')},parseInput_:function(e,t,r){t.eatWhile(\":\"),t.eat(\"%\")?(r.line=e.firstLine(),r.lineEnd=e.lastLine()):(r.line=this.parseLineSpec_(e,t),void 0!==r.line&&t.eat(\",\")&&(r.lineEnd=this.parseLineSpec_(e,t)));var n=t.match(/^(\\w+)/);return r.commandName=n?n[1]:t.match(/.*/)[0],r},parseLineSpec_:function(e,t){var r=t.match(/^(\\d+)/);if(r)return parseInt(r[1],10)-1;switch(t.next()){case\".\":return this.parseLineSpecOffset_(t,e.getCursor().line);case\"$\":return this.parseLineSpecOffset_(t,e.lastLine());case\"'\":var n=t.next(),o=_e(e,e.state.vim,n);if(!o)throw new Error(\"Mark not set\");return this.parseLineSpecOffset_(t,o.line);case\"-\":case\"+\":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var r=e.match(/^([+-])?(\\d+)/);if(r){var n=parseInt(r[2],10);\"-\"==r[1]?t-=n:t+=n}return t},parseCommandArgs_:function(e,t,r){if(!e.eol()){t.argString=e.match(/.*/)[0];var n=r.argDelimiter||/\\s+/,o=se(t.argString).split(n);o.length&&o[0]&&(t.args=o)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var r=e.substring(0,t);if(this.commandMap_[r]){var n=this.commandMap_[r];if(0===n.name.indexOf(e))return n}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<r.length;e++){var t=r[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,r,n){if(\":\"!=e&&\":\"==e.charAt(0)){if(n)throw Error(\"Mode not supported for ex mappings\");var o=e.substring(1);\":\"!=r&&\":\"==r.charAt(0)?this.commandMap_[o]={name:o,type:\"exToEx\",toInput:r.substring(1),user:!0}:this.commandMap_[o]={name:o,type:\"exToKey\",toKeys:r,user:!0}}else if(\":\"!=r&&\":\"==r.charAt(0)){var i={keys:e,type:\"keyToEx\",exArgs:{input:r.substring(1)}};n&&(i.context=n),t.unshift(i)}else i={keys:e,type:\"keyToKey\",toKeys:r},n&&(i.context=n),t.unshift(i)},unmap:function(e,r){if(\":\"!=e&&\":\"==e.charAt(0)){if(r)throw Error(\"Mode not supported for ex mappings\");var n=e.substring(1);if(this.commandMap_[n]&&this.commandMap_[n].user)return void delete this.commandMap_[n]}else for(var o=e,i=0;i<t.length;i++)if(o==t[i].keys&&t[i].context===r)return void t.splice(i,1);throw Error(\"No such mapping.\")}};var We={colorscheme:function(e,t){!t.args||t.args.length<1?Oe(e,e.getOption(\"theme\")):e.setOption(\"theme\",t.args[0])},map:function(e,t,r){var n=t.args;!n||n.length<2?e&&Oe(e,\"Invalid mapping: \"+t.input):Ve.map(n[0],n[1],r)},imap:function(e,t){this.map(e,t,\"insert\")},nmap:function(e,t){this.map(e,t,\"normal\")},vmap:function(e,t){this.map(e,t,\"visual\")},unmap:function(e,t,r){var n=t.args;!n||n.length<1?e&&Oe(e,\"No such mapping: \"+t.input):Ve.unmap(n[0],r)},move:function(e,t){U.processCommand(e,e.state.vim,{type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var r=t.args,n=t.setCfg||{};if(!r||r.length<1)e&&Oe(e,\"Invalid mapping: \"+t.input);else{var o=r[0].split(\"=\"),i=o[0],a=o[1],s=!1;if(\"?\"==i.charAt(i.length-1)){if(a)throw Error(\"Trailing characters: \"+t.argString);i=i.substring(0,i.length-1),s=!0}void 0===a&&\"no\"==i.substring(0,2)&&(i=i.substring(2),a=!1);var l=L[i]&&\"boolean\"==L[i].type;if(l&&null==a&&(a=!0),!l&&void 0===a||s){var c=E(i,e,n);c instanceof Error?Oe(e,c.message):Oe(e,!0===c||!1===c?\" \"+(c?\"\":\"no\")+i:\" \"+i+\"=\"+c)}else{var u=R(i,a,e,n);u instanceof Error&&Oe(e,u.message)}}},setlocal:function(e,t){t.setCfg={scope:\"local\"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:\"global\"},this.set(e,t)},registers:function(e,t){var r=t.args,n=O.registerController.registers,o=\"----------Registers----------<br><br>\";if(r){r=r.join(\"\");for(var i=0;i<r.length;i++)a=r.charAt(i),O.registerController.isValidRegister(a)&&(o+='\"'+a+\" \"+(n[a]||new W).toString()+\"<br>\")}else for(var a in n){var s=n[a].toString();s.length&&(o+='\"'+a+\" \"+s+\"<br>\")}Oe(e,o)},sort:function(t,r){var o,i,a,s,l,c=function(){if(r.argString){var t=new e.StringStream(r.argString);if(t.eat(\"!\")&&(o=!0),t.eol())return;if(!t.eatSpace())return\"Invalid arguments\";var n=t.match(/([dinuox]+)?\\s*(\\/.+\\/)?\\s*/);if(!n&&!t.eol())return\"Invalid arguments\";if(n[1]){i=-1!=n[1].indexOf(\"i\"),a=-1!=n[1].indexOf(\"u\");var c=-1!=n[1].indexOf(\"d\")||-1!=n[1].indexOf(\"n\")&&1,u=-1!=n[1].indexOf(\"x\")&&1,h=-1!=n[1].indexOf(\"o\")&&1;if(c+u+h>1)return\"Invalid arguments\";s=(c?\"decimal\":u&&\"hex\")||h&&\"octal\"}n[2]&&(l=new RegExp(n[2].substr(1,n[2].length-2),i?\"i\":\"\"))}}();if(c)Oe(t,c+\": \"+r.argString);else{var u=r.line||t.firstLine(),h=r.lineEnd||r.line||t.lastLine();if(u!=h){var p=n(u,0),f=n(h,ae(t,h)),d=t.getRange(p,f).split(\"\\n\"),m=l||(\"decimal\"==s?/(-?)([\\d]+)/:\"hex\"==s?/(-?)(?:0x)?([0-9a-f]+)/i:\"octal\"==s?/([0-7]+)/:null),g=\"decimal\"==s?10:\"hex\"==s?16:\"octal\"==s?8:null,v=[],y=[];if(s||l)for(var k=0;k<d.length;k++){var C=l?d[k].match(l):null;C&&\"\"!=C[0]?v.push(C):!l&&m.exec(d[k])?v.push(d[k]):y.push(d[k])}else y=d;if(v.sort(l?function(e,t){var r;return o&&(r=e,e=t,t=r),i&&(e[0]=e[0].toLowerCase(),t[0]=t[0].toLowerCase()),e[0]<t[0]?-1:1}:x),l)for(k=0;k<v.length;k++)v[k]=v[k].input;else s||y.sort(x);if(d=o?v.concat(y):y.concat(v),a){var w,M=d;for(d=[],k=0;k<M.length;k++)M[k]!=w&&d.push(M[k]),w=M[k]}t.replaceRange(d.join(\"\\n\"),p,f)}}function x(e,t){var r;o&&(r=e,e=t,t=r),i&&(e=e.toLowerCase(),t=t.toLowerCase());var n=s&&m.exec(e),a=s&&m.exec(t);return n?(n=parseInt((n[1]+n[2]).toLowerCase(),g))-(a=parseInt((a[1]+a[2]).toLowerCase(),g)):e<t?-1:1}},global:function(e,t){var r=t.argString;if(r){var n,o=void 0!==t.line?t.line:e.firstLine(),i=t.lineEnd||t.line||e.lastLine(),a=be(r,\"/\"),s=r;if(a.length&&(s=a[0],n=a.slice(1,a.length).join(\"/\")),s)try{Ke(e,s,!0,!0)}catch(t){return void Oe(e,\"Invalid regex: \"+s)}for(var l=Ae(e).getQuery(),c=[],u=\"\",h=o;h<=i;h++)l.test(e.getLine(h))&&(c.push(h+1),u+=e.getLine(h)+\"<br>\");if(n){var p=0,f=function(){if(p<c.length){var t=c[p]+n;Ve.processCommand(e,t,{callback:f})}p++};f()}else Oe(e,u)}else Oe(e,\"Regular Expression missing from global\")},substitute:function(t,r){if(!t.getSearchCursor)throw new Error(\"Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.\");var o,i,a,s,l=r.argString,c=l?be(l,l[0]):[],u=\"\",h=!1,f=!1;if(c.length)o=c[0],u=c[1],o&&\"$\"===o[o.length-1]&&(o=o.slice(0,o.length-1)+\"\\\\n\",u=u?u+\"\\n\":\"\\n\"),void 0!==u&&(u=E(\"pcre\")?function(t){for(var r=new e.StringStream(t),n=[];!r.eol();){for(;r.peek()&&\"\\\\\"!=r.peek();)n.push(r.next());var o=!1;for(var i in Re)if(r.match(i,!0)){o=!0,n.push(Re[i]);break}o||n.push(r.next())}return n.join(\"\")}(u):function(e){for(var t,r=!1,n=[],o=-1;o<e.length;o++){var i=e.charAt(o)||\"\",a=e.charAt(o+1)||\"\";Te[i+a]?(n.push(Te[i+a]),o++):r?(n.push(i),r=!1):\"\\\\\"===i?(r=!0,t=a,p.test(t)||\"$\"===a?n.push(\"$\"):\"/\"!==a&&\"\\\\\"!==a&&n.push(\"\\\\\")):(\"$\"===i&&n.push(\"$\"),n.push(i),\"/\"===a&&n.push(\"\\\\\"))}return n.join(\"\")}(u),O.lastSubstituteReplacePart=u),i=c[2]?c[2].split(\" \"):[];else if(l&&l.length)return void Oe(t,\"Substitutions should be of the form :s/pattern/replace/\");if(i&&(a=i[0],s=parseInt(i[1]),a&&(-1!=a.indexOf(\"c\")&&(h=!0,a.replace(\"c\",\"\")),-1!=a.indexOf(\"g\")&&(f=!0,a.replace(\"g\",\"\")),o=o.replace(/\\//g,\"\\\\/\")+\"/\"+a)),o)try{Ke(t,o,!0,!0)}catch(e){return void Oe(t,\"Invalid regex: \"+o)}if(void 0!==(u=u||O.lastSubstituteReplacePart)){var d=Ae(t).getQuery(),m=void 0!==r.line?r.line:t.getCursor().line,g=r.lineEnd||m;m==t.firstLine()&&g==t.lastLine()&&(g=1/0),s&&(g=(m=g)+s-1);var v=z(t,n(m,0)),y=t.getSearchCursor(d,v);!function(t,r,n,o,i,a,s,l,c){t.state.vim.exMode=!0;var u=!1,h=a.from();function p(){t.operation(function(){for(;!u;)f(),d();m()})}function f(){var e=t.getRange(a.from(),a.to()),r=e.replace(s,l);a.replace(r)}function d(){for(;a.findNext()&&(e=a.from(),r=o,s=i,\"number\"!=typeof e&&(e=e.line),r instanceof Array?b(e,r):s?e>=r&&e<=s:e==r);)if(n||!h||a.from().line!=h.line)return t.scrollIntoView(a.from(),30),t.setSelection(a.from(),a.to()),h=a.from(),void(u=!1);var e,r,s;u=!0}function m(e){if(e&&e(),t.focus(),h){t.setCursor(h);var r=t.state.vim;r.exMode=!1,r.lastHPos=r.lastHSPos=h.ch}c&&c()}if(d(),!u)return r?void Ie(t,{prefix:\"replace with <strong>\"+l+\"</strong> (y/n/a/q/l)\",onKeyDown:function(r,n,o){switch(e.e_stop(r),e.keyName(r)){case\"Y\":f(),d();break;case\"N\":d();break;case\"A\":var i=c;c=void 0,t.operation(p),c=i;break;case\"L\":f();case\"Q\":case\"Esc\":case\"Ctrl-C\":case\"Ctrl-[\":m(o)}return u&&m(o),!0}}):(p(),void(c&&c()));Oe(t,\"No matches for \"+s.source)}(t,h,f,m,g,y,d,u,r.callback)}else Oe(t,\"No previous substitute regular expression\")},redo:e.commands.redo,undo:e.commands.undo,write:function(t){e.commands.save?e.commands.save(t):t.save&&t.save()},nohlsearch:function(e){je(e)},yank:function(e){var t=ee(e.getCursor()).line,r=e.getLine(t);O.registerController.pushText(\"0\",\"yank\",r,!0,!0)},delmarks:function(t,r){if(r.argString&&se(r.argString))for(var n=t.state.vim,o=new e.StringStream(se(r.argString));!o.eol();){o.eatSpace();var i=o.pos;if(!o.match(/[a-zA-Z]/,!1))return void Oe(t,\"Invalid argument: \"+r.argString.substring(i));var a=o.next();if(o.match(\"-\",!0)){if(!o.match(/[a-zA-Z]/,!1))return void Oe(t,\"Invalid argument: \"+r.argString.substring(i));var s=a,l=o.next();if(!(M(s)&&M(l)||x(s)&&x(l)))return void Oe(t,\"Invalid argument: \"+s+\"-\");var c=s.charCodeAt(0),u=l.charCodeAt(0);if(c>=u)return void Oe(t,\"Invalid argument: \"+r.argString.substring(i));for(var h=0;h<=u-c;h++){var p=String.fromCharCode(c+h);delete n.marks[p]}}else delete n.marks[a]}else Oe(t,\"Argument required\")}},Ve=new Fe;function De(t){var r=t.state.vim,n=O.macroModeState,o=O.registerController.getRegister(\".\"),i=n.isPlaying,a=n.lastInsertModeChanges,s=[];if(!i){for(var l=a.inVisualBlock&&r.lastSelection?r.lastSelection.visualBlock.height:1,c=a.changes,u=(s=[],0);u<c.length;)s.push(c[u]),c[u]instanceof ze?u++:u+=l;a.changes=s,t.off(\"change\",$e),e.off(t.getInputField(),\"keydown\",Ze)}!i&&r.insertModeRepeat>1&&(Ge(t,r,r.insertModeRepeat-1,!0),r.lastEditInputState.repeatOverride=r.insertModeRepeat),delete r.insertModeRepeat,r.insertMode=!1,t.setCursor(t.getCursor().line,t.getCursor().ch-1),t.setOption(\"keyMap\",\"vim\"),t.setOption(\"disableInput\",!0),t.toggleOverwrite(!1),o.setText(a.changes.join(\"\")),e.signal(t,\"vim-mode-change\",{mode:\"normal\"}),n.isRecording&&function(e){if(!e.isPlaying){var t=e.latestRegister,r=O.registerController.getRegister(t);r&&r.pushInsertModeChanges&&r.pushInsertModeChanges(e.lastInsertModeChanges)}}(n)}function Ue(e){t.unshift(e)}function Je(t,r,n,o){var i=O.registerController.getRegister(o);if(\":\"==o)return i.keyBuffer[0]&&Ve.processCommand(t,i.keyBuffer[0]),void(n.isPlaying=!1);var a=i.keyBuffer,s=0;n.isPlaying=!0,n.replaySearchQueries=i.searchQueries.slice(0);for(var l=0;l<a.length;l++)for(var c,u,h=a[l];h;)if(u=(c=/<\\w+-.+?>|<\\w+>|./.exec(h))[0],h=h.substring(c.index+u.length),e.Vim.handleKey(t,u,\"macro\"),r.insertMode){var p=i.insertModeChanges[s++].changes;O.macroModeState.lastInsertModeChanges.changes=p,Xe(t,p,1),De(t)}n.isPlaying=!1}function $e(e,t){var r=O.macroModeState,n=r.lastInsertModeChanges;if(!r.isPlaying)for(;t;){if(n.expectCursorActivityForChange=!0,\"+input\"==t.origin||\"paste\"==t.origin||void 0===t.origin){var o=t.text.join(\"\\n\");n.maybeReset&&(n.changes=[],n.maybeReset=!1),e.state.overwrite&&!/\\n/.test(o)?n.changes.push([o]):n.changes.push(o)}t=t.next}}function qe(t){var r=t.state.vim;if(r.insertMode){var n=O.macroModeState;if(n.isPlaying)return;var o=n.lastInsertModeChanges;o.expectCursorActivityForChange?o.expectCursorActivityForChange=!1:o.maybeReset=!0}else t.curOp.isVimOp||function(t,r){var n=t.getCursor(\"anchor\"),o=t.getCursor(\"head\");if(r.visualMode&&!t.somethingSelected()?fe(t,!1):r.visualMode||r.insertMode||!t.somethingSelected()||(r.visualMode=!0,r.visualLine=!1,e.signal(t,\"vim-mode-change\",{mode:\"visual\"})),r.visualMode){var i=re(o,n)?0:-1,a=re(o,n)?-1:0;o=G(o,0,i),n=G(n,0,a),r.sel={anchor:n,head:o},Me(t,r,\"<\",ne(o,n)),Me(t,r,\">\",oe(o,n))}else r.insertMode||(r.lastHPos=t.getCursor().ch)}(t,r);r.visualMode&&Qe(t)}function Qe(e){var t=e.state.vim,r=z(e,ee(t.sel.head)),n=G(r,0,1);t.fakeCursor&&t.fakeCursor.clear(),t.fakeCursor=e.markText(r,n,{className:\"cm-animate-fat-cursor\"})}function ze(e){this.keyName=e}function Ze(t){var r=O.macroModeState.lastInsertModeChanges,n=e.keyName(t);n&&(-1==n.indexOf(\"Delete\")&&-1==n.indexOf(\"Backspace\")||e.lookupKey(n,\"vim-insert\",function(){return r.maybeReset&&(r.changes=[],r.maybeReset=!1),r.changes.push(new ze(n)),!0}))}function Ge(e,t,r,n){var o=O.macroModeState;o.isPlaying=!0;var i=!!t.lastEditActionCommand,a=t.inputState;function s(){i?U.processAction(e,t,t.lastEditActionCommand):U.evalInput(e,t)}function l(r){if(o.lastInsertModeChanges.changes.length>0){r=t.lastEditActionCommand?r:1;var n=o.lastInsertModeChanges;Xe(e,n.changes,r)}}if(t.inputState=t.lastEditInputState,i&&t.lastEditActionCommand.interlaceInsertRepeat)for(var c=0;c<r;c++)s(),l(1);else n||s(),l(r);t.inputState=a,t.insertMode&&!n&&De(e),o.isPlaying=!1}function Xe(t,r,n){function o(r){return\"string\"==typeof r?e.commands[r](t):r(t),!0}var i,a,s=t.getCursor(\"head\"),l=O.macroModeState.lastInsertModeChanges.inVisualBlock;if(l){var c=t.state.vim.lastSelection,u=(i=c.anchor,{line:(a=c.head).line-i.line,ch:a.line-i.line});ce(t,s,u.line+1),n=t.listSelections().length,t.setCursor(s)}for(var h=0;h<n;h++){l&&t.setCursor(G(s,h,0));for(var p=0;p<r.length;p++){var f=r[p];if(f instanceof ze)e.lookupKey(f.keyName,\"vim-insert\",o);else if(\"string\"==typeof f){var d=t.getCursor();t.replaceRange(f,d,d)}else{var m=t.getCursor(),g=G(m,0,f[0].length);t.replaceRange(f[0],m,g)}}}l&&t.setCursor(G(s,0,1))}return e.keyMap.vim={attach:i,detach:o,call:l},T(\"insertModeEscKeysTimeout\",200,\"number\"),e.keyMap[\"vim-insert\"]={fallthrough:[\"default\"],attach:i,detach:o,call:l},e.keyMap[\"vim-replace\"]={Backspace:\"goCharLeft\",fallthrough:[\"vim-insert\"],attach:i,detach:o,call:l},j(),H}()});\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/keymap/vim.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror-keymap-vim/readme": {
"title": "$:/plugins/tiddlywiki/codemirror-keymap-vim/readme",
"text": "This plugin adds a ''Keymap'' with some of the most important ''Vim'' keyboard shortcuts\n\nFor information about available ''keyboard shortcuts'' see the [ext[CodeMirror vim demo|https://codemirror.net/demo/vim.html]]\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/codemirror/addon/search/search.js": {
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"./searchcursor\"),require(\"../dialog/dialog\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"./searchcursor\",\"../dialog/dialog\"],e):e(CodeMirror)}(function(e){\"use strict\";function o(e){return e.state.search||(e.state.search=new function(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null})}function n(e){return\"string\"==typeof e&&e==e.toLowerCase()}function r(e,o,r){return e.getSearchCursor(o,r,{caseFold:n(o),multiline:!0})}function t(e,o,n,r,t){e.openDialog?e.openDialog(o,t,{value:r,selectValueOnOpen:!0}):t(prompt(n,r))}function i(e){return e.replace(/\\\\(.)/g,function(e,o){return\"n\"==o?\"\\n\":\"r\"==o?\"\\r\":o})}function a(e){var o=e.match(/^\\/(.*)\\/([a-z]*)$/);if(o)try{e=new RegExp(o[1],-1==o[2].indexOf(\"i\")?\"\":\"i\")}catch(e){}else e=i(e);return(\"string\"==typeof e?\"\"==e:e.test(\"\"))&&(e=/x^/),e}var s='<span class=\"CodeMirror-search-label\">Search:</span> <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">(Use /re/ syntax for regexp search)</span>';function c(e,o,r){var t,i;o.queryText=r,o.query=a(r),e.removeOverlay(o.overlay,n(o.query)),o.overlay=(t=o.query,i=n(o.query),\"string\"==typeof t?t=new RegExp(t.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\"),i?\"gi\":\"g\"):t.global||(t=new RegExp(t.source,t.ignoreCase?\"gi\":\"g\")),{token:function(e){t.lastIndex=e.pos;var o=t.exec(e.string);if(o&&o.index==e.pos)return e.pos+=o[0].length||1,\"searching\";o?e.pos=o.index:e.skipToEnd()}}),e.addOverlay(o.overlay),e.showMatchesOnScrollbar&&(o.annotate&&(o.annotate.clear(),o.annotate=null),o.annotate=e.showMatchesOnScrollbar(o.query,n(o.query)))}function l(n,r,i,a){var l=o(n);if(l.query)return u(n,r);var p,d,y,m,g,h=n.getSelection()||l.lastQuery;if(h instanceof RegExp&&\"x^\"==h.source&&(h=null),i&&n.openDialog){var v=null,x=function(o,r){e.e_stop(r),o&&(o!=l.queryText&&(c(n,l,o),l.posFrom=l.posTo=n.getCursor()),v&&(v.style.opacity=1),u(n,r.shiftKey,function(e,o){var r;o.line<3&&document.querySelector&&(r=n.display.wrapper.querySelector(\".CodeMirror-dialog\"))&&r.getBoundingClientRect().bottom-4>n.cursorCoords(o,\"window\").top&&((v=r).style.opacity=.4)}))};d=s,y=h,m=x,g=function(r,t){var i=e.keyName(r),a=n.getOption(\"extraKeys\"),s=a&&a[i]||e.keyMap[n.getOption(\"keyMap\")][i];\"findNext\"==s||\"findPrev\"==s||\"findPersistentNext\"==s||\"findPersistentPrev\"==s?(e.e_stop(r),c(n,o(n),t),n.execCommand(s)):\"find\"!=s&&\"findPersistent\"!=s||(e.e_stop(r),x(t,r))},(p=n).openDialog(d,m,{value:y,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){f(p)},onKeyDown:g}),a&&h&&(c(n,l,h),u(n,r))}else t(n,s,\"Search for:\",h,function(e){e&&!l.query&&n.operation(function(){c(n,l,e),l.posFrom=l.posTo=n.getCursor(),u(n,r)})})}function u(n,t,i){n.operation(function(){var a=o(n),s=r(n,a.query,t?a.posFrom:a.posTo);(s.find(t)||(s=r(n,a.query,t?e.Pos(n.lastLine()):e.Pos(n.firstLine(),0))).find(t))&&(n.setSelection(s.from(),s.to()),n.scrollIntoView({from:s.from(),to:s.to()},20),a.posFrom=s.from(),a.posTo=s.to(),i&&i(s.from(),s.to()))})}function f(e){e.operation(function(){var n=o(e);n.lastQuery=n.query,n.query&&(n.query=n.queryText=null,e.removeOverlay(n.overlay),n.annotate&&(n.annotate.clear(),n.annotate=null))})}var p=' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">(Use /re/ syntax for regexp search)</span>',d='<span class=\"CodeMirror-search-label\">With:</span> <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/>',y='<span class=\"CodeMirror-search-label\">Replace?</span> <button>Yes</button> <button>No</button> <button>All</button> <button>Stop</button>';function m(e,o,n){e.operation(function(){for(var t=r(e,o);t.findNext();)if(\"string\"!=typeof o){var i=e.getRange(t.from(),t.to()).match(o);t.replace(n.replace(/\\$(\\d)/g,function(e,o){return i[o]}))}else t.replace(n)})}function g(e,n){if(!e.getOption(\"readOnly\")){var s=e.getSelection()||o(e).lastQuery,c='<span class=\"CodeMirror-search-label\">'+(n?\"Replace all:\":\"Replace:\")+\"</span>\";t(e,c+p,c,s,function(o){o&&(o=a(o),t(e,d,\"Replace with:\",\"\",function(t){if(t=i(t),n)m(e,o,t);else{f(e);var a=r(e,o,e.getCursor(\"from\")),s=function(){var n,i,l,u,f,p=a.from();!(n=a.findNext())&&(a=r(e,o),!(n=a.findNext())||p&&a.from().line==p.line&&a.from().ch==p.ch)||(e.setSelection(a.from(),a.to()),e.scrollIntoView({from:a.from(),to:a.to()}),l=y,u=\"Replace?\",f=[function(){c(n)},s,function(){m(e,o,t)}],(i=e).openConfirm?i.openConfirm(l,f):confirm(u)&&f[0]())},c=function(e){a.replace(\"string\"==typeof o?t:t.replace(/\\$(\\d)/g,function(o,n){return e[n]})),s()};s()}}))})}}e.commands.find=function(e){f(e),l(e)},e.commands.findPersistent=function(e){f(e),l(e,!1,!0)},e.commands.findPersistentNext=function(e){l(e,!1,!0,!0)},e.commands.findPersistentPrev=function(e){l(e,!0,!0,!0)},e.commands.findNext=l,e.commands.findPrev=function(e){l(e,!0)},e.commands.clearSearch=f,e.commands.replace=g,e.commands.replaceAll=function(e){g(e,!0)}});",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/search/search.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror/addon/search/jump-to-line.js": {
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"../dialog/dialog\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../dialog/dialog\"],e):e(CodeMirror)}(function(e){\"use strict\";function o(e,o){var r=Number(o);return/^[-+]/.test(o)?e.getCursor().line+r:r-1}e.commands.jumpToLine=function(e){var r,i,t,s,n,l=e.getCursor();r=e,i='Jump to line: <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">(Use line:column or scroll% syntax)</span>',t=\"Jump to line:\",s=l.line+1+\":\"+l.ch,n=function(r){var i;if(r)if(i=/^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(r))e.setCursor(o(e,i[1]),Number(i[2]));else if(i=/^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(r)){var t=Math.round(e.lineCount()*Number(i[1])/100);/^[-+]/.test(i[1])&&(t=l.line+t+1),e.setCursor(t-1,l.ch)}else(i=/^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(r))&&e.setCursor(o(e,i[1]),l.ch)},r.openDialog?r.openDialog(i,n,{value:s,selectValueOnOpen:!0}):n(prompt(t,s))},e.keyMap.default[\"Alt-G\"]=\"jumpToLine\"});",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/search/jump-to-line.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror/addon/search/searchcursor.js": {
"text": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(t){\"use strict\";var e,n,r=t.Pos;function i(t,e){for(var n,r,i=null!=(r=(n=t).flags)?r:(n.ignoreCase?\"i\":\"\")+(n.global?\"g\":\"\")+(n.multiline?\"m\":\"\"),o=i,l=0;l<e.length;l++)-1==o.indexOf(e.charAt(l))&&(o+=e.charAt(l));return i==o?t:new RegExp(t.source,o)}function o(t,e,n){e=i(e,\"g\");for(var o=n.line,l=n.ch,h=t.lastLine();o<=h;o++,l=0){e.lastIndex=l;var s=t.getLine(o),c=e.exec(s);if(c)return{from:r(o,c.index),to:r(o,c.index+c[0].length),match:c}}}function l(t,e){for(var n,r=0;;){e.lastIndex=r;var i=e.exec(t);if(!i)return n;if((r=(n=i).index+(n[0].length||1))==t.length)return n}}function h(t,e,n,r){if(t.length==e.length)return n;for(var i=0,o=n+Math.max(0,t.length-e.length);;){if(i==o)return i;var l=i+o>>1,h=r(t.slice(0,l)).length;if(h==n)return l;h>n?o=l:i=l+1}}function s(t,s,c,f){var u;this.atOccurrence=!1,this.doc=t,c=c?t.clipPos(c):r(0,0),this.pos={from:c,to:c},\"object\"==typeof f?u=f.caseFold:(u=f,f=null),\"string\"==typeof s?(null==u&&(u=!1),this.matches=function(i,o){return(i?function(t,i,o,l){if(!i.length)return null;var s=l?e:n,c=s(i).split(/\\r|\\n\\r?/);t:for(var f=o.line,u=o.ch,a=t.firstLine()-1+c.length;f>=a;f--,u=-1){var g=t.getLine(f);u>-1&&(g=g.slice(0,u));var m=s(g);if(1==c.length){var d=m.lastIndexOf(c[0]);if(-1==d)continue t;return{from:r(f,h(g,m,d,s)),to:r(f,h(g,m,d+c[0].length,s))}}var v=c[c.length-1];if(m.slice(0,v.length)==v){var p=1;for(o=f-c.length+1;p<c.length-1;p++)if(s(t.getLine(o+p))!=c[p])continue t;var x=t.getLine(f+1-c.length),L=s(x);if(L.slice(L.length-c[0].length)==c[0])return{from:r(f+1-c.length,h(x,L,x.length-c[0].length,s)),to:r(f,h(g,m,v.length,s))}}}}:function(t,i,o,l){if(!i.length)return null;var s=l?e:n,c=s(i).split(/\\r|\\n\\r?/);t:for(var f=o.line,u=o.ch,a=t.lastLine()+1-c.length;f<=a;f++,u=0){var g=t.getLine(f).slice(u),m=s(g);if(1==c.length){var d=m.indexOf(c[0]);if(-1==d)continue t;return o=h(g,m,d,s)+u,{from:r(f,h(g,m,d,s)+u),to:r(f,h(g,m,d+c[0].length,s)+u)}}var v=m.length-c[0].length;if(m.slice(v)==c[0]){for(var p=1;p<c.length-1;p++)if(s(t.getLine(f+p))!=c[p])continue t;var x=t.getLine(f+c.length-1),L=s(x),C=c[c.length-1];if(L.slice(0,C.length)==C)return{from:r(f,h(g,m,v,s)+u),to:r(f+c.length-1,h(x,L,C.length,s))}}}})(t,s,o,u)}):(s=i(s,\"gm\"),f&&!1===f.multiline?this.matches=function(e,n){return(e?function(t,e,n){e=i(e,\"g\");for(var o=n.line,h=n.ch,s=t.firstLine();o>=s;o--,h=-1){var c=t.getLine(o);h>-1&&(c=c.slice(0,h));var f=l(c,e);if(f)return{from:r(o,f.index),to:r(o,f.index+f[0].length),match:f}}}:o)(t,s,n)}:this.matches=function(e,n){return(e?function(t,e,n){e=i(e,\"gm\");for(var o,h=1,s=n.line,c=t.firstLine();s>=c;){for(var f=0;f<h;f++){var u=t.getLine(s--);o=null==o?u.slice(0,n.ch):u+\"\\n\"+o}h*=2;var a=l(o,e);if(a){var g=o.slice(0,a.index).split(\"\\n\"),m=a[0].split(\"\\n\"),d=s+g.length,v=g[g.length-1].length;return{from:r(d,v),to:r(d+m.length-1,1==m.length?v+m[0].length:m[m.length-1].length),match:a}}}}:function(t,e,n){if(!/\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(e.source))return o(t,e,n);e=i(e,\"gm\");for(var l,h=1,s=n.line,c=t.lastLine();s<=c;){for(var f=0;f<h&&!(s>c);f++){var u=t.getLine(s++);l=null==l?u:l+\"\\n\"+u}h*=2,e.lastIndex=n.ch;var a=e.exec(l);if(a){var g=l.slice(0,a.index).split(\"\\n\"),m=a[0].split(\"\\n\"),d=n.line+g.length-1,v=g[g.length-1].length;return{from:r(d,v),to:r(d+m.length-1,1==m.length?v+m[0].length:m[m.length-1].length),match:a}}}})(t,s,n)})}String.prototype.normalize?(e=function(t){return t.normalize(\"NFD\").toLowerCase()},n=function(t){return t.normalize(\"NFD\")}):(e=function(t){return t.toLowerCase()},n=function(t){return t}),s.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){for(var n=this.matches(e,this.doc.clipPos(e?this.pos.from:this.pos.to));n&&0==t.cmpPos(n.from,n.to);)e?n.from.ch?n.from=r(n.from.line,n.from.ch-1):n=n.from.line==this.doc.firstLine()?null:this.matches(e,this.doc.clipPos(r(n.from.line-1))):n.to.ch<this.doc.getLine(n.to.line).length?n.to=r(n.to.line,n.to.ch+1):n=n.to.line==this.doc.lastLine()?null:this.matches(e,r(n.to.line+1,0));if(n)return this.pos=n,this.atOccurrence=!0,this.pos.match||!0;var i=r(e?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:i,to:i},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(e,n){if(this.atOccurrence){var i=t.splitLines(e);this.doc.replaceRange(i,this.pos.from,this.pos.to,n),this.pos.to=r(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},t.defineExtension(\"getSearchCursor\",function(t,e,n){return new s(this.doc,t,e,n)}),t.defineDocExtension(\"getSearchCursor\",function(t,e,n){return new s(this,t,e,n)}),t.defineExtension(\"selectMatches\",function(e,n){for(var r=[],i=this.getSearchCursor(e,this.getCursor(\"from\"),n);i.findNext()&&!(t.cmpPos(i.to(),this.getCursor(\"to\"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})});",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/codemirror/addon/search/searchcursor.js",
"module-type": "codemirror"
},
"$:/plugins/tiddlywiki/codemirror-search-replace/readme": {
"title": "$:/plugins/tiddlywiki/codemirror-search-replace/readme",
"text": "This plugin enhances the [[CodeMirror|http://codemirror.net]] text editor with Search and Replace functionality. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\nIt adds these Keyboard Shortcuts to ~CodeMirror:\n\n|Shortcut |Function |h\n|Ctrl-F / Cmd-F |Start searching |\n|Ctrl-G / Cmd-G / Shift-F3 |Find next |\n|Shift-Ctrl-G / Shift-Cmd-G / F3 |Find previous |\n|Shift-Ctrl-F / Cmd-Option-F |Replace |\n|Shift-Ctrl-R / Shift-Cmd-Option-F |Replace all |\n|Alt-F |Persistent search (dialog doesn't autoclose, enter to find next, Shift-Enter to find previous) |\n|Alt-G |Jump to line |\n\n"
}
}
}
{
"tiddlers": {
"$:/config/HighlightPlugin/TypeMappings/application/javascript": {
"title": "$:/config/HighlightPlugin/TypeMappings/application/javascript",
"text": "javascript"
},
"$:/config/HighlightPlugin/TypeMappings/application/json": {
"title": "$:/config/HighlightPlugin/TypeMappings/application/json",
"text": "json"
},
"$:/config/HighlightPlugin/TypeMappings/text/css": {
"title": "$:/config/HighlightPlugin/TypeMappings/text/css",
"text": "css"
},
"$:/config/HighlightPlugin/TypeMappings/text/html": {
"title": "$:/config/HighlightPlugin/TypeMappings/text/html",
"text": "html"
},
"$:/config/HighlightPlugin/TypeMappings/image/svg+xml": {
"title": "$:/config/HighlightPlugin/TypeMappings/image/svg+xml",
"text": "xml"
},
"$:/config/HighlightPlugin/TypeMappings/text/x-markdown": {
"title": "$:/config/HighlightPlugin/TypeMappings/text/x-markdown",
"text": "markdown"
},
"$:/plugins/tiddlywiki/highlight/highlight.js": {
"text": "var hljs = require(\"$:/plugins/tiddlywiki/highlight/highlight.js\");\n/*! highlight.js v9.18.1 | BSD3 License | git.io/hljslicense */\n!function(e){var n=\"object\"==typeof window&&window||\"object\"==typeof self&&self;\"undefined\"==typeof exports||exports.nodeType?n&&(n.hljs=e({}),\"function\"==typeof define&&define.amd&&define([],function(){return n.hljs})):e(exports)}(function(a){var f=[],i=Object.keys,_={},c={},C=!0,n=/^(no-?highlight|plain|text)$/i,l=/\\blang(?:uage)?-([\\w-]+)\\b/i,t=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,r={case_insensitive:\"cI\",lexemes:\"l\",contains:\"c\",keywords:\"k\",subLanguage:\"sL\",className:\"cN\",begin:\"b\",beginKeywords:\"bK\",end:\"e\",endsWithParent:\"eW\",illegal:\"i\",excludeBegin:\"eB\",excludeEnd:\"eE\",returnBegin:\"rB\",returnEnd:\"rE\",variants:\"v\",IDENT_RE:\"IR\",UNDERSCORE_IDENT_RE:\"UIR\",NUMBER_RE:\"NR\",C_NUMBER_RE:\"CNR\",BINARY_NUMBER_RE:\"BNR\",RE_STARTERS_RE:\"RSR\",BACKSLASH_ESCAPE:\"BE\",APOS_STRING_MODE:\"ASM\",QUOTE_STRING_MODE:\"QSM\",PHRASAL_WORDS_MODE:\"PWM\",C_LINE_COMMENT_MODE:\"CLCM\",C_BLOCK_COMMENT_MODE:\"CBCM\",HASH_COMMENT_MODE:\"HCM\",NUMBER_MODE:\"NM\",C_NUMBER_MODE:\"CNM\",BINARY_NUMBER_MODE:\"BNM\",CSS_NUMBER_MODE:\"CSSNM\",REGEXP_MODE:\"RM\",TITLE_MODE:\"TM\",UNDERSCORE_TITLE_MODE:\"UTM\",COMMENT:\"C\",beginRe:\"bR\",endRe:\"eR\",illegalRe:\"iR\",lexemesRe:\"lR\",terminators:\"t\",terminator_end:\"tE\"},m=\"</span>\",O=\"Could not find the language '{}', did you forget to load/include a language module?\",B={classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0},o=\"of and for in not or if then\".split(\" \");function x(e){return e.replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")}function g(e){return e.nodeName.toLowerCase()}function u(e){return n.test(e)}function s(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function E(e){var a=[];return function e(n,t){for(var r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?t+=r.nodeValue.length:1===r.nodeType&&(a.push({event:\"start\",offset:t,node:r}),t=e(r,t),g(r).match(/br|hr|img|input/)||a.push({event:\"stop\",offset:t,node:r}));return t}(e,0),a}function d(e,n,t){var r=0,a=\"\",i=[];function o(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:\"start\"===n[0].event?e:n:e.length?e:n}function c(e){a+=\"<\"+g(e)+f.map.call(e.attributes,function(e){return\" \"+e.nodeName+'=\"'+x(e.value).replace(/\"/g,\""\")+'\"'}).join(\"\")+\">\"}function l(e){a+=\"</\"+g(e)+\">\"}function u(e){(\"start\"===e.event?c:l)(e.node)}for(;e.length||n.length;){var s=o();if(a+=x(t.substring(r,s[0].offset)),r=s[0].offset,s===e){for(i.reverse().forEach(l);u(s.splice(0,1)[0]),(s=o())===e&&s.length&&s[0].offset===r;);i.reverse().forEach(c)}else\"start\"===s[0].event?i.push(s[0].node):i.pop(),u(s.splice(0,1)[0])}return a+x(t.substr(r))}function R(n){return n.v&&!n.cached_variants&&(n.cached_variants=n.v.map(function(e){return s(n,{v:null},e)})),n.cached_variants?n.cached_variants:function e(n){return!!n&&(n.eW||e(n.starts))}(n)?[s(n,{starts:n.starts?s(n.starts):null})]:Object.isFrozen(n)?[s(n)]:[n]}function p(e){if(r&&!e.langApiRestored){for(var n in e.langApiRestored=!0,r)e[n]&&(e[r[n]]=e[n]);(e.c||[]).concat(e.v||[]).forEach(p)}}function v(n,r){var a={};return\"string\"==typeof n?t(\"keyword\",n):i(n).forEach(function(e){t(e,n[e])}),a;function t(t,e){r&&(e=e.toLowerCase()),e.split(\" \").forEach(function(e){var n=e.split(\"|\");a[n[0]]=[t,function(e,n){return n?Number(n):function(e){return-1!=o.indexOf(e.toLowerCase())}(e)?0:1}(n[0],n[1])]})}}function S(r){function s(e){return e&&e.source||e}function f(e,n){return new RegExp(s(e),\"m\"+(r.cI?\"i\":\"\")+(n?\"g\":\"\"))}function a(a){var i,e,o={},c=[],l={},t=1;function n(e,n){o[t]=e,c.push([e,n]),t+=function(e){return new RegExp(e.toString()+\"|\").exec(\"\").length-1}(n)+1}for(var r=0;r<a.c.length;r++){n(e=a.c[r],e.bK?\"\\\\.?(?:\"+e.b+\")\\\\.?\":e.b)}a.tE&&n(\"end\",a.tE),a.i&&n(\"illegal\",a.i);var u=c.map(function(e){return e[1]});return i=f(function(e,n){for(var t=/\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./,r=0,a=\"\",i=0;i<e.length;i++){var o=r+=1,c=s(e[i]);for(0<i&&(a+=n),a+=\"(\";0<c.length;){var l=t.exec(c);if(null==l){a+=c;break}a+=c.substring(0,l.index),c=c.substring(l.index+l[0].length),\"\\\\\"==l[0][0]&&l[1]?a+=\"\\\\\"+String(Number(l[1])+o):(a+=l[0],\"(\"==l[0]&&r++)}a+=\")\"}return a}(u,\"|\"),!0),l.lastIndex=0,l.exec=function(e){var n;if(0===c.length)return null;i.lastIndex=l.lastIndex;var t=i.exec(e);if(!t)return null;for(var r=0;r<t.length;r++)if(null!=t[r]&&null!=o[\"\"+r]){n=o[\"\"+r];break}return\"string\"==typeof n?(t.type=n,t.extra=[a.i,a.tE]):(t.type=\"begin\",t.rule=n),t},l}if(r.c&&-1!=r.c.indexOf(\"self\")){if(!C)throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");r.c=r.c.filter(function(e){return\"self\"!=e})}!function n(t,e){t.compiled||(t.compiled=!0,t.k=t.k||t.bK,t.k&&(t.k=v(t.k,r.cI)),t.lR=f(t.l||/\\w+/,!0),e&&(t.bK&&(t.b=\"\\\\b(\"+t.bK.split(\" \").join(\"|\")+\")\\\\b\"),t.b||(t.b=/\\B|\\b/),t.bR=f(t.b),t.endSameAsBegin&&(t.e=t.b),t.e||t.eW||(t.e=/\\B|\\b/),t.e&&(t.eR=f(t.e)),t.tE=s(t.e)||\"\",t.eW&&e.tE&&(t.tE+=(t.e?\"|\":\"\")+e.tE)),t.i&&(t.iR=f(t.i)),null==t.relevance&&(t.relevance=1),t.c||(t.c=[]),t.c=Array.prototype.concat.apply([],t.c.map(function(e){return R(\"self\"===e?t:e)})),t.c.forEach(function(e){n(e,t)}),t.starts&&n(t.starts,e),t.t=a(t))}(r)}function T(n,e,a,t){var i=e;function o(e,n){if(function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}if(e.eW)return o(e.parent,n)}function c(e,n,t,r){if(!t&&\"\"===n)return\"\";if(!e)return n;var a='<span class=\"'+(r?\"\":B.classPrefix);return(a+=e+'\">')+n+(t?\"\":m)}function l(){p+=null!=d.sL?function(){var e=\"string\"==typeof d.sL;if(e&&!_[d.sL])return x(v);var n=e?T(d.sL,v,!0,R[d.sL]):w(v,d.sL.length?d.sL:void 0);return 0<d.relevance&&(M+=n.relevance),e&&(R[d.sL]=n.top),c(n.language,n.value,!1,!0)}():function(){var e,n,t,r,a,i,o;if(!d.k)return x(v);for(r=\"\",n=0,d.lR.lastIndex=0,t=d.lR.exec(v);t;)r+=x(v.substring(n,t.index)),a=d,i=t,void 0,o=g.cI?i[0].toLowerCase():i[0],(e=a.k.hasOwnProperty(o)&&a.k[o])?(M+=e[1],r+=c(e[0],x(t[0]))):r+=x(t[0]),n=d.lR.lastIndex,t=d.lR.exec(v);return r+x(v.substr(n))}(),v=\"\"}function u(e){p+=e.cN?c(e.cN,\"\",!0):\"\",d=Object.create(e,{parent:{value:d}})}function s(e){var n=e[0],t=e.rule;return t&&t.endSameAsBegin&&(t.eR=function(e){return new RegExp(e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),\"m\")}(n)),t.skip?v+=n:(t.eB&&(v+=n),l(),t.rB||t.eB||(v=n)),u(t),t.rB?0:n.length}var f={};function r(e,n){var t=n&&n[0];if(v+=e,null==t)return l(),0;if(\"begin\"==f.type&&\"end\"==n.type&&f.index==n.index&&\"\"===t)return v+=i.slice(n.index,n.index+1),1;if(\"begin\"===(f=n).type)return s(n);if(\"illegal\"===n.type&&!a)throw new Error('Illegal lexeme \"'+t+'\" for mode \"'+(d.cN||\"<unnamed>\")+'\"');if(\"end\"===n.type){var r=function(e){var n=e[0],t=i.substr(e.index),r=o(d,t);if(r){var a=d;for(a.skip?v+=n:(a.rE||a.eE||(v+=n),l(),a.eE&&(v=n));d.cN&&(p+=m),d.skip||d.sL||(M+=d.relevance),(d=d.parent)!==r.parent;);return r.starts&&(r.endSameAsBegin&&(r.starts.eR=r.eR),u(r.starts)),a.rE?0:n.length}}(n);if(null!=r)return r}return v+=t,t.length}var g=D(n);if(!g)throw console.error(O.replace(\"{}\",n)),new Error('Unknown language: \"'+n+'\"');S(g);var E,d=t||g,R={},p=\"\";for(E=d;E!==g;E=E.parent)E.cN&&(p=c(E.cN,\"\",!0)+p);var v=\"\",M=0;try{for(var b,h,N=0;d.t.lastIndex=N,b=d.t.exec(i);)h=r(i.substring(N,b.index),b),N=b.index+h;for(r(i.substr(N)),E=d;E.parent;E=E.parent)E.cN&&(p+=m);return{relevance:M,value:p,i:!1,language:n,top:d}}catch(e){if(e.message&&-1!==e.message.indexOf(\"Illegal\"))return{i:!0,relevance:0,value:x(i)};if(C)return{relevance:0,value:x(i),language:n,top:d,errorRaised:e};throw e}}function w(t,e){e=e||B.languages||i(_);var r={relevance:0,value:x(t)},a=r;return e.filter(D).filter(L).forEach(function(e){var n=T(e,t,!1);n.language=e,n.relevance>a.relevance&&(a=n),n.relevance>r.relevance&&(a=r,r=n)}),a.language&&(r.second_best=a),r}function M(e){return B.tabReplace||B.useBR?e.replace(t,function(e,n){return B.useBR&&\"\\n\"===e?\"<br>\":B.tabReplace?n.replace(/\\t/g,B.tabReplace):\"\"}):e}function b(e){var n,t,r,a,i,o=function(e){var n,t,r,a,i=e.className+\" \";if(i+=e.parentNode?e.parentNode.className:\"\",t=l.exec(i)){var o=D(t[1]);return o||(console.warn(O.replace(\"{}\",t[1])),console.warn(\"Falling back to no-highlight mode for this block.\",e)),o?t[1]:\"no-highlight\"}for(n=0,r=(i=i.split(/\\s+/)).length;n<r;n++)if(u(a=i[n])||D(a))return a}(e);u(o)||(B.useBR?(n=document.createElement(\"div\")).innerHTML=e.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\"):n=e,i=n.textContent,r=o?T(o,i,!0):w(i),(t=E(n)).length&&((a=document.createElement(\"div\")).innerHTML=r.value,r.value=d(t,E(a),i)),r.value=M(r.value),e.innerHTML=r.value,e.className=function(e,n,t){var r=n?c[n]:t,a=[e.trim()];return e.match(/\\bhljs\\b/)||a.push(\"hljs\"),-1===e.indexOf(r)&&a.push(r),a.join(\" \").trim()}(e.className,o,r.language),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll(\"pre code\");f.forEach.call(e,b)}}var N={disableAutodetect:!0};function D(e){return e=(e||\"\").toLowerCase(),_[e]||_[c[e]]}function L(e){var n=D(e);return n&&!n.disableAutodetect}return a.highlight=T,a.highlightAuto=w,a.fixMarkup=M,a.highlightBlock=b,a.configure=function(e){B=s(B,e)},a.initHighlighting=h,a.initHighlightingOnLoad=function(){window.addEventListener(\"DOMContentLoaded\",h,!1),window.addEventListener(\"load\",h,!1)},a.registerLanguage=function(n,e){var t;try{t=e(a)}catch(e){if(console.error(\"Language definition for '{}' could not be registered.\".replace(\"{}\",n)),!C)throw e;console.error(e),t=N}p(_[n]=t),t.rawDefinition=e.bind(null,a),t.aliases&&t.aliases.forEach(function(e){c[e]=n})},a.listLanguages=function(){return i(_)},a.getLanguage=D,a.requireLanguage=function(e){var n=D(e);if(n)return n;throw new Error(\"The '{}' language is required, but not loaded.\".replace(\"{}\",e))},a.autoDetection=L,a.inherit=s,a.debugMode=function(){C=!1},a.IR=a.IDENT_RE=\"[a-zA-Z]\\\\w*\",a.UIR=a.UNDERSCORE_IDENT_RE=\"[a-zA-Z_]\\\\w*\",a.NR=a.NUMBER_RE=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",a.CNR=a.C_NUMBER_RE=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",a.BNR=a.BINARY_NUMBER_RE=\"\\\\b(0b[01]+)\",a.RSR=a.RE_STARTERS_RE=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",a.BE=a.BACKSLASH_ESCAPE={b:\"\\\\\\\\[\\\\s\\\\S]\",relevance:0},a.ASM=a.APOS_STRING_MODE={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\",c:[a.BE]},a.QSM=a.QUOTE_STRING_MODE={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\",c:[a.BE]},a.PWM=a.PHRASAL_WORDS_MODE={b:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},a.C=a.COMMENT=function(e,n,t){var r=a.inherit({cN:\"comment\",b:e,e:n,c:[]},t||{});return r.c.push(a.PWM),r.c.push({cN:\"doctag\",b:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",relevance:0}),r},a.CLCM=a.C_LINE_COMMENT_MODE=a.C(\"//\",\"$\"),a.CBCM=a.C_BLOCK_COMMENT_MODE=a.C(\"/\\\\*\",\"\\\\*/\"),a.HCM=a.HASH_COMMENT_MODE=a.C(\"#\",\"$\"),a.NM=a.NUMBER_MODE={cN:\"number\",b:a.NR,relevance:0},a.CNM=a.C_NUMBER_MODE={cN:\"number\",b:a.CNR,relevance:0},a.BNM=a.BINARY_NUMBER_MODE={cN:\"number\",b:a.BNR,relevance:0},a.CSSNM=a.CSS_NUMBER_MODE={cN:\"number\",b:a.NR+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",relevance:0},a.RM=a.REGEXP_MODE={cN:\"regexp\",b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[a.BE,{b:/\\[/,e:/\\]/,relevance:0,c:[a.BE]}]},a.TM=a.TITLE_MODE={cN:\"title\",b:a.IR,relevance:0},a.UTM=a.UNDERSCORE_TITLE_MODE={cN:\"title\",b:a.UIR,relevance:0},a.METHOD_GUARD={b:\"\\\\.\\\\s*\"+a.UIR,relevance:0},[a.BE,a.ASM,a.QSM,a.PWM,a.C,a.CLCM,a.CBCM,a.HCM,a.NM,a.CNM,a.BNM,a.CSSNM,a.RM,a.TM,a.UTM,a.METHOD_GUARD].forEach(function(e){!function n(t){Object.freeze(t);var r=\"function\"==typeof t;Object.getOwnPropertyNames(t).forEach(function(e){!t.hasOwnProperty(e)||null===t[e]||\"object\"!=typeof t[e]&&\"function\"!=typeof t[e]||r&&(\"caller\"===e||\"callee\"===e||\"arguments\"===e)||Object.isFrozen(t[e])||n(t[e])});return t}(e)}),a});hljs.registerLanguage(\"swift\",function(e){var i={keyword:\"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet\",literal:\"true false nil\",built_in:\"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip\"},t=e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),n={cN:\"subst\",b:/\\\\\\(/,e:\"\\\\)\",k:i,c:[]},r={cN:\"string\",c:[e.BE,n],v:[{b:/\"\"\"/,e:/\"\"\"/},{b:/\"/,e:/\"/}]},a={cN:\"number\",b:\"\\\\b([\\\\d_]+(\\\\.[\\\\deE_]+)?|0x[a-fA-F0-9_]+(\\\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b\",relevance:0};return n.c=[a],{k:i,c:[r,e.CLCM,t,{cN:\"type\",b:\"\\\\b[A-Z][\\\\wÀ-ʸ']*[!?]\"},{cN:\"type\",b:\"\\\\b[A-Z][\\\\wÀ-ʸ']*\",relevance:0},a,{cN:\"function\",bK:\"func\",e:\"{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b:/</,e:/>/},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:i,c:[\"self\",a,r,e.CBCM,{b:\":\"}],i:/[\"']/}],i:/\\[|%/},{cN:\"class\",bK:\"struct protocol class extension enum\",k:i,e:\"\\\\{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\\u00C0-\\u02B80-9A-Za-z$_]*/})]},{cN:\"meta\",b:\"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\"},{bK:\"import\",e:/$/,c:[e.CLCM,t]}]}});hljs.registerLanguage(\"less\",function(e){function r(e){return{cN:\"string\",b:\"~?\"+e+\".*?\"+e}}function t(e,r,t){return{cN:e,b:r,relevance:t}}var a=\"[\\\\w-]+\",c=\"(\"+a+\"|@{\"+a+\"})\",s=[],n=[],b={b:\"\\\\(\",e:\"\\\\)\",c:n,relevance:0};n.push(e.CLCM,e.CBCM,r(\"'\"),r('\"'),e.CSSNM,{b:\"(url|data-uri)\\\\(\",starts:{cN:\"string\",e:\"[\\\\)\\\\n]\",eE:!0}},t(\"number\",\"#[0-9A-Fa-f]+\\\\b\"),b,t(\"variable\",\"@@?\"+a,10),t(\"variable\",\"@{\"+a+\"}\"),t(\"built_in\",\"~?`[^`]*?`\"),{cN:\"attribute\",b:a+\"\\\\s*:\",e:\":\",rB:!0,eE:!0},{cN:\"meta\",b:\"!important\"});var i=n.concat({b:\"{\",e:\"}\",c:s}),l={bK:\"when\",eW:!0,c:[{bK:\"and not\"}].concat(n)},o={b:c+\"\\\\s*:\",rB:!0,e:\"[;}]\",relevance:0,c:[{cN:\"attribute\",b:c,e:\":\",eE:!0,starts:{eW:!0,i:\"[<=$]\",relevance:0,c:n}}]},u={cN:\"keyword\",b:\"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b\",starts:{e:\"[;{}]\",rE:!0,c:n,relevance:0}},v={cN:\"variable\",v:[{b:\"@\"+a+\"\\\\s*:\",relevance:15},{b:\"@\"+a}],starts:{e:\"[;}]\",rE:!0,c:i}},C={v:[{b:\"[\\\\.#:&\\\\[>]\",e:\"[;{}]\"},{b:c,e:\"{\"}],rB:!0,rE:!0,i:\"[<='$\\\"]\",relevance:0,c:[e.CLCM,e.CBCM,l,t(\"keyword\",\"all\\\\b\"),t(\"variable\",\"@{\"+a+\"}\"),t(\"selector-tag\",c+\"%?\",0),t(\"selector-id\",\"#\"+c),t(\"selector-class\",\"\\\\.\"+c,0),t(\"selector-tag\",\"&\",0),{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"\\\\(\",e:\"\\\\)\",c:i},{b:\"!important\"}]};return s.push(e.CLCM,e.CBCM,u,v,o,C),{cI:!0,i:\"[=>'/<($\\\"]\",c:s}});hljs.registerLanguage(\"armasm\",function(s){return{cI:!0,aliases:[\"arm\"],l:\"\\\\.?\"+s.IR,k:{meta:\".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND \",built_in:\"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @\"},c:[{cN:\"keyword\",b:\"\\\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?\",e:\"\\\\s\"},s.C(\"[;@]\",\"$\",{relevance:0}),s.CBCM,s.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",relevance:0},{cN:\"title\",b:\"\\\\|\",e:\"\\\\|\",i:\"\\\\n\",relevance:0},{cN:\"number\",v:[{b:\"[#$=]?0x[0-9a-f]+\"},{b:\"[#$=]?0b[01]+\"},{b:\"[#$=]\\\\d+\"},{b:\"\\\\b\\\\d+\"}],relevance:0},{cN:\"symbol\",v:[{b:\"^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+\"},{b:\"^\\\\s*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:\"},{b:\"[=#]\\\\w+\"}],relevance:0}]}});hljs.registerLanguage(\"ruby\",function(e){var c=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",b={keyword:\"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor\",literal:\"true false nil\"},r={cN:\"doctag\",b:\"@[A-Za-z]+\"},a={b:\"#<\",e:\">\"},n=[e.C(\"#\",\"$\",{c:[r]}),e.C(\"^\\\\=begin\",\"^\\\\=end\",{c:[r],relevance:10}),e.C(\"^__END__\",\"\\\\n$\")],s={cN:\"subst\",b:\"#\\\\{\",e:\"}\",k:b},t={cN:\"string\",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%[qQwWx]?\\\\(\",e:\"\\\\)\"},{b:\"%[qQwWx]?\\\\[\",e:\"\\\\]\"},{b:\"%[qQwWx]?{\",e:\"}\"},{b:\"%[qQwWx]?<\",e:\">\"},{b:\"%[qQwWx]?/\",e:\"/\"},{b:\"%[qQwWx]?%\",e:\"%\"},{b:\"%[qQwWx]?-\",e:\"-\"},{b:\"%[qQwWx]?\\\\|\",e:\"\\\\|\"},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/},{b:/<<[-~]?'?(\\w+)(?:.|\\n)*?\\n\\s*\\1\\b/,rB:!0,c:[{b:/<<[-~]?'?/},{b:/\\w+/,endSameAsBegin:!0,c:[e.BE,s]}]}]},i={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,k:b},l=[t,a,{cN:\"class\",bK:\"class module\",e:\"$|;\",i:/=/,c:[e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\\\\s*\",c:[{b:\"(\"+e.IR+\"::)?\"+e.IR}]}].concat(n)},{cN:\"function\",bK:\"def\",e:\"$|;\",c:[e.inherit(e.TM,{b:c}),i].concat(n)},{b:e.IR+\"::\"},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",relevance:0},{cN:\"symbol\",b:\":(?!\\\\s)\",c:[t,{b:c}],relevance:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",relevance:0},{b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{cN:\"params\",b:/\\|/,e:/\\|/,k:b},{b:\"(\"+e.RSR+\"|unless)\\\\s*\",k:\"unless\",c:[a,{cN:\"regexp\",c:[e.BE,s],i:/\\n/,v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r{\",e:\"}[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)[a-z]*\"},{b:\"%r!\",e:\"![a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}].concat(n),relevance:0}].concat(n);s.c=l;var d=[{b:/^\\s*=>/,starts:{e:\"$\",c:i.c=l}},{cN:\"meta\",b:\"^([>?]>|[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>|(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>)\",starts:{e:\"$\",c:l}}];return{aliases:[\"rb\",\"gemspec\",\"podspec\",\"thor\",\"irb\"],k:b,i:/\\/\\*/,c:n.concat(d).concat(l)}});hljs.registerLanguage(\"lua\",function(e){var t=\"\\\\[=*\\\\[\",a=\"\\\\]=*\\\\]\",n={b:t,e:a,c:[\"self\"]},l=[e.C(\"--(?!\"+t+\")\",\"$\"),e.C(\"--\"+t,a,{c:[n],relevance:10})];return{l:e.UIR,k:{literal:\"true false nil\",keyword:\"and break do else elseif end for goto if in local not or repeat return then until while\",built_in:\"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove\"},c:l.concat([{cN:\"function\",bK:\"function\",e:\"\\\\)\",c:[e.inherit(e.TM,{b:\"([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*\"}),{cN:\"params\",b:\"\\\\(\",eW:!0,c:l}].concat(l)},e.CNM,e.ASM,e.QSM,{cN:\"string\",b:t,e:a,c:[n],relevance:5}])}});hljs.registerLanguage(\"matlab\",function(e){var a=\"('|\\\\.')+\",s={relevance:0,c:[{b:a}]};return{k:{keyword:\"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while\",built_in:\"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell \"},i:'(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:\"function\",bK:\"function\",e:\"$\",c:[e.UTM,{cN:\"params\",v:[{b:\"\\\\(\",e:\"\\\\)\"},{b:\"\\\\[\",e:\"\\\\]\"}]}]},{cN:\"built_in\",b:/true|false/,relevance:0,starts:s},{b:\"[a-zA-Z][a-zA-Z_0-9]*\"+a,relevance:0},{cN:\"number\",b:e.CNR,relevance:0,starts:s},{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]},{b:/\\]|}|\\)/,relevance:0,starts:s},{cN:\"string\",b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}],starts:s},e.C(\"^\\\\s*\\\\%\\\\{\\\\s*$\",\"^\\\\s*\\\\%\\\\}\\\\s*$\"),e.C(\"\\\\%\",\"$\")]}});hljs.registerLanguage(\"apache\",function(e){var r={cN:\"number\",b:\"[\\\\$%]\\\\d+\"};return{aliases:[\"apacheconf\"],cI:!0,c:[e.HCM,{cN:\"section\",b:\"</?\",e:\">\"},{cN:\"attribute\",b:/\\w+/,relevance:0,k:{nomarkup:\"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername\"},starts:{e:/$/,relevance:0,k:{literal:\"on off all\"},c:[{cN:\"meta\",b:\"\\\\s\\\\[\",e:\"\\\\]$\"},{cN:\"variable\",b:\"[\\\\$%]\\\\{\",e:\"\\\\}\",c:[\"self\",r]},r,e.QSM]}}],i:/\\S/}});hljs.registerLanguage(\"yaml\",function(e){var b=\"true false yes no null\",a={cN:\"string\",relevance:0,v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/\\S+/}],c:[e.BE,{cN:\"template-variable\",v:[{b:\"{{\",e:\"}}\"},{b:\"%{\",e:\"}\"}]}]};return{cI:!0,aliases:[\"yml\",\"YAML\",\"yaml\"],c:[{cN:\"attr\",v:[{b:\"\\\\w[\\\\w :\\\\/.-]*:(?=[ \\t]|$)\"},{b:'\"\\\\w[\\\\w :\\\\/.-]*\":(?=[ \\t]|$)'},{b:\"'\\\\w[\\\\w :\\\\/.-]*':(?=[ \\t]|$)\"}]},{cN:\"meta\",b:\"^---s*$\",relevance:10},{cN:\"string\",b:\"[\\\\|>]([0-9]?[+-])?[ ]*\\\\n( *)[\\\\S ]+\\\\n(\\\\2[\\\\S ]+\\\\n?)*\"},{b:\"<%[%=-]?\",e:\"[%-]?%>\",sL:\"ruby\",eB:!0,eE:!0,relevance:0},{cN:\"type\",b:\"!\"+e.UIR},{cN:\"type\",b:\"!!\"+e.UIR},{cN:\"meta\",b:\"&\"+e.UIR+\"$\"},{cN:\"meta\",b:\"\\\\*\"+e.UIR+\"$\"},{cN:\"bullet\",b:\"\\\\-(?=[ ]|$)\",relevance:0},e.HCM,{bK:b,k:{literal:b}},{cN:\"number\",b:e.CNR+\"\\\\b\"},a]}});hljs.registerLanguage(\"plaintext\",function(e){return{disableAutodetect:!0}});hljs.registerLanguage(\"erlang-repl\",function(e){return{k:{built_in:\"spawn spawn_link self\",keyword:\"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor\"},c:[{cN:\"meta\",b:\"^[0-9]+> \",relevance:10},e.C(\"%\",\"$\"),{cN:\"number\",b:\"\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)\",relevance:0},e.ASM,e.QSM,{b:\"\\\\?(::)?([A-Z]\\\\w*(::)?)+\"},{b:\"->\"},{b:\"ok\"},{b:\"!\"},{b:\"(\\\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\\\b[a-z'][a-zA-Z0-9_']*)\",relevance:0},{b:\"[A-Z][a-zA-Z0-9_']*\",relevance:0}]}});hljs.registerLanguage(\"cmake\",function(e){return{aliases:[\"cmake.in\"],cI:!0,k:{keyword:\"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined\"},c:[{cN:\"variable\",b:\"\\\\${\",e:\"}\"},e.HCM,e.QSM,e.NM]}});hljs.registerLanguage(\"kotlin\",function(e){var t={keyword:\"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default\",built_in:\"Byte Short Char Int Long Boolean Float Double Void Unit Nothing\",literal:\"true false null\"},a={cN:\"symbol\",b:e.UIR+\"@\"},n={cN:\"subst\",b:\"\\\\${\",e:\"}\",c:[e.CNM]},c={cN:\"variable\",b:\"\\\\$\"+e.UIR},r={cN:\"string\",v:[{b:'\"\"\"',e:'\"\"\"(?=[^\"])',c:[c,n]},{b:\"'\",e:\"'\",i:/\\n/,c:[e.BE]},{b:'\"',e:'\"',i:/\\n/,c:[e.BE,c,n]}]};n.c.push(r);var i={cN:\"meta\",b:\"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*\"+e.UIR+\")?\"},l={cN:\"meta\",b:\"@\"+e.UIR,c:[{b:/\\(/,e:/\\)/,c:[e.inherit(r,{cN:\"meta-string\"})]}]},s={cN:\"number\",b:\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",relevance:0},b=e.C(\"/\\\\*\",\"\\\\*/\",{c:[e.CBCM]}),o={v:[{cN:\"type\",b:e.UIR},{b:/\\(/,e:/\\)/,c:[]}]},d=o;return d.v[1].c=[o],o.v[1].c=[d],{aliases:[\"kt\"],k:t,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,b,{cN:\"keyword\",b:/\\b(break|continue|return|this)\\b/,starts:{c:[{cN:\"symbol\",b:/@\\w+/}]}},a,i,l,{cN:\"function\",bK:\"fun\",e:\"[(]|$\",rB:!0,eE:!0,k:t,i:/fun\\s+(<.*>)?[^\\s\\(]+(\\s+[^\\s\\(]+)\\s*=/,relevance:5,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,relevance:0,c:[e.UTM]},{cN:\"type\",b:/</,e:/>/,k:\"reified\",relevance:0},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:t,relevance:0,c:[{b:/:/,e:/[=,\\/]/,eW:!0,c:[o,e.CLCM,b],relevance:0},e.CLCM,b,i,l,r,e.CNM]},b]},{cN:\"class\",bK:\"class interface trait\",e:/[:\\{(]|$/,eE:!0,i:\"extends implements\",c:[{bK:\"public protected internal private constructor\"},e.UTM,{cN:\"type\",b:/</,e:/>/,eB:!0,eE:!0,relevance:0},{cN:\"type\",b:/[,:]\\s*/,e:/[<\\(,]|$/,eB:!0,rE:!0},i,l]},r,{cN:\"meta\",b:\"^#!/usr/bin/env\",e:\"$\",i:\"\\n\"},s]}});hljs.registerLanguage(\"javascript\",function(e){var r=\"<>\",a=\"</>\",t={b:/<[A-Za-z0-9\\\\._:-]+/,e:/\\/[A-Za-z0-9\\\\._:-]+>|\\/>/},c=\"[A-Za-z$_][0-9A-Za-z$_]*\",n={keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},s={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)n?\"},{b:\"\\\\b(0[oO][0-7]+)n?\"},{b:e.CNR+\"n?\"}],relevance:0},o={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:n,c:[]},i={b:\"html`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,o],sL:\"xml\"}},b={b:\"css`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,o],sL:\"css\"}},l={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,o]};o.c=[e.ASM,e.QSM,i,b,l,s,e.RM];var u=o.c.concat([e.CBCM,e.CLCM]);return{aliases:[\"js\",\"jsx\",\"mjs\",\"cjs\"],k:n,c:[{cN:\"meta\",relevance:10,b:/^\\s*['\"]use (strict|asm)['\"]/},{cN:\"meta\",b:/^#!/,e:/$/},e.ASM,e.QSM,i,b,l,e.CLCM,e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\",c:[{cN:\"type\",b:\"\\\\{\",e:\"\\\\}\",relevance:0},{cN:\"variable\",b:c+\"(?=\\\\s*(-)|$)\",endsParent:!0,relevance:0},{b:/(?=[^\\n])\\s/,relevance:0}]}]}),e.CBCM,s,{b:/[{,\\n]\\s*/,relevance:0,c:[{b:c+\"\\\\s*:\",rB:!0,relevance:0,c:[{cN:\"attr\",b:c,relevance:0}]}]},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+c+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:c},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:n,c:u}]}]},{cN:\"\",b:/\\s/,e:/\\s*/,skip:!0},{v:[{b:r,e:a},{b:t.b,e:t.e}],sL:\"xml\",c:[{b:t.b,e:t.e,skip:!0,c:[\"self\"]}]}],relevance:0},{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:c}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:u}],i:/\\[|%/},{b:/\\$[(.]/},e.METHOD_GUARD,{cN:\"class\",bK:\"class\",e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:\"extends\"},e.UTM]},{bK:\"constructor get set\",e:/\\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage(\"scss\",function(e){var t=\"@[a-z-]+\",r={cN:\"variable\",b:\"(\\\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\\\b\"},i={cN:\"number\",b:\"#[0-9A-Fa-f]+\"};e.CSSNM,e.QSM,e.ASM,e.CBCM;return{cI:!0,i:\"[=/|']\",c:[e.CLCM,e.CBCM,{cN:\"selector-id\",b:\"\\\\#[A-Za-z0-9_-]+\",relevance:0},{cN:\"selector-class\",b:\"\\\\.[A-Za-z0-9_-]+\",relevance:0},{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\",i:\"$\"},{cN:\"selector-tag\",b:\"\\\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\\\b\",relevance:0},{cN:\"selector-pseudo\",b:\":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)\"},{cN:\"selector-pseudo\",b:\"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)\"},r,{cN:\"attribute\",b:\"\\\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\\\b\",i:\"[^\\\\s]\"},{b:\"\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b\"},{b:\":\",e:\";\",c:[r,i,e.CSSNM,e.QSM,e.ASM,{cN:\"meta\",b:\"!important\"}]},{b:\"@(page|font-face)\",l:t,k:\"@page @font-face\"},{b:\"@\",e:\"[{;]\",rB:!0,k:\"and or not only\",c:[{b:t,cN:\"keyword\"},r,e.QSM,e.ASM,i,e.CSSNM]}]}});hljs.registerLanguage(\"perl\",function(e){var t=\"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when\",r={cN:\"subst\",b:\"[$@]\\\\{\",e:\"\\\\}\",k:t},s={b:\"->{\",e:\"}\"},n={v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,relevance:0}]},c=[e.BE,r,n],a=[n,e.HCM,e.C(\"^\\\\=\\\\w\",\"\\\\=cut\",{eW:!0}),s,{cN:\"string\",c:c,v:[{b:\"q[qwxr]?\\\\s*\\\\(\",e:\"\\\\)\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\[\",e:\"\\\\]\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\{\",e:\"\\\\}\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\|\",e:\"\\\\|\",relevance:5},{b:\"q[qwxr]?\\\\s*\\\\<\",e:\"\\\\>\",relevance:5},{b:\"qw\\\\s+q\",e:\"q\",relevance:5},{b:\"'\",e:\"'\",c:[e.BE]},{b:'\"',e:'\"'},{b:\"`\",e:\"`\",c:[e.BE]},{b:\"{\\\\w+}\",c:[],relevance:0},{b:\"-?\\\\w+\\\\s*\\\\=\\\\>\",c:[],relevance:0}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",relevance:0},{b:\"(\\\\/\\\\/|\"+e.RSR+\"|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*\",k:\"split return print reverse grep\",relevance:0,c:[e.HCM,{cN:\"regexp\",b:\"(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*\",relevance:10},{cN:\"regexp\",b:\"(m|qr)?/\",e:\"/[a-z]*\",c:[e.BE],relevance:0}]},{cN:\"function\",bK:\"sub\",e:\"(\\\\s*\\\\(.*?\\\\))?[;{]\",eE:!0,relevance:5,c:[e.TM]},{b:\"-\\\\w\\\\b\",relevance:0},{b:\"^__DATA__$\",e:\"^__END__$\",sL:\"mojolicious\",c:[{b:\"^@@.*\",e:\"$\",cN:\"comment\"}]}];return r.c=a,{aliases:[\"pl\",\"pm\"],l:/[\\w\\.]+/,k:t,c:s.c=a}});hljs.registerLanguage(\"go\",function(e){var n={keyword:\"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune\",literal:\"true false iota nil\",built_in:\"append cap close complex copy imag len make new panic print println real recover delete\"};return{aliases:[\"golang\"],k:n,i:\"</\",c:[e.CLCM,e.CBCM,{cN:\"string\",v:[e.QSM,e.ASM,{b:\"`\",e:\"`\"}]},{cN:\"number\",v:[{b:e.CNR+\"[i]\",relevance:1},e.CNM]},{b:/:=/},{cN:\"function\",bK:\"func\",e:\"\\\\s*(\\\\{|$)\",eE:!0,c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:n,i:/[\"']/}]}]}});hljs.registerLanguage(\"x86asm\",function(s){return{cI:!0,l:\"[.%]?\"+s.IR,k:{keyword:\"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63\",built_in:\"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr\",meta:\"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__\"},c:[s.C(\";\",\"$\",{relevance:0}),{cN:\"number\",v:[{b:\"\\\\b(?:([0-9][0-9_]*)?\\\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\\\b\",relevance:0},{b:\"\\\\$[0-9][0-9A-Fa-f]*\",relevance:0},{b:\"\\\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\\\b\"},{b:\"\\\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\\\b\"}]},s.QSM,{cN:\"string\",v:[{b:\"'\",e:\"[^\\\\\\\\]'\"},{b:\"`\",e:\"[^\\\\\\\\]`\"}],relevance:0},{cN:\"symbol\",v:[{b:\"^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)\"},{b:\"^\\\\s*%%[A-Za-z0-9_$#@~.?]*:\"}],relevance:0},{cN:\"subst\",b:\"%[0-9]+\",relevance:0},{cN:\"subst\",b:\"%!S+\",relevance:0},{cN:\"meta\",b:/^\\s*\\.[\\w_-]+/}]}});hljs.registerLanguage(\"cpp\",function(e){function t(e){return\"(?:\"+e+\")?\"}var r=\"decltype\\\\(auto\\\\)\",a=\"[a-zA-Z_]\\\\w*::\",i=\"(\"+r+\"|\"+t(a)+\"[a-zA-Z_]\\\\w*\"+t(\"<.*?>\")+\")\",c={cN:\"keyword\",b:\"\\\\b[a-z\\\\d_]*_t\\\\b\"},s={cN:\"string\",v:[{b:'(u8?|U|L)?\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:\"(u8?|U|L)?'(\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)|.)\",e:\"'\",i:\".\"},{b:/(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\((?:.|\\n)*?\\)\\1\"/}]},n={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],relevance:0},o={cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,relevance:0},e.inherit(s,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<.*?>/,e:/$/,i:\"\\\\n\"},e.CLCM,e.CBCM]},l={cN:\"title\",b:t(a)+e.IR,relevance:0},u=t(a)+e.IR+\"\\\\s*\\\\(\",p={keyword:\"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_tshort reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq\",built_in:\"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary\",literal:\"true false nullptr NULL\"},m=[c,e.CLCM,e.CBCM,n,s],d={v:[{b:/=/,e:/;/},{b:/\\(/,e:/\\)/},{bK:\"new throw return else\",e:/;/}],k:p,c:m.concat([{b:/\\(/,e:/\\)/,k:p,c:m.concat([\"self\"]),relevance:0}]),relevance:0},b={cN:\"function\",b:\"(\"+i+\"[\\\\*&\\\\s]+)+\"+u,rB:!0,e:/[{;=]/,eE:!0,k:p,i:/[^\\w\\s\\*&:<>]/,c:[{b:r,k:p,relevance:0},{b:u,rB:!0,c:[l],relevance:0},{cN:\"params\",b:/\\(/,e:/\\)/,k:p,relevance:0,c:[e.CLCM,e.CBCM,s,n,c,{b:/\\(/,e:/\\)/,k:p,relevance:0,c:[\"self\",e.CLCM,e.CBCM,s,n,c]}]},c,e.CLCM,e.CBCM,o]};return{aliases:[\"c\",\"cc\",\"h\",\"c++\",\"h++\",\"hpp\",\"hh\",\"hxx\",\"cxx\"],k:p,i:\"</\",c:[].concat(d,b,m,[o,{b:\"\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<\",e:\">\",k:p,c:[\"self\",c]},{b:e.IR+\"::\",k:p},{cN:\"class\",bK:\"class struct\",e:/[{;:]/,c:[{b:/</,e:/>/,c:[\"self\"]},e.TM]}]),exports:{preprocessor:o,strings:s,k:p}}});hljs.registerLanguage(\"arduino\",function(e){var t=\"boolean byte word String\",r=\"setup loopKeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put\",i=\"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW\",o=e.requireLanguage(\"cpp\").rawDefinition(),a=o.k;return a.keyword+=\" \"+t,a.literal+=\" \"+i,a.built_in+=\" \"+r,o});hljs.registerLanguage(\"nginx\",function(e){var r={cN:\"variable\",v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:\"[\\\\$\\\\@]\"+e.UIR}]},b={eW:!0,l:\"[a-z/_]+\",k:{literal:\"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll\"},relevance:0,i:\"=>\",c:[e.HCM,{cN:\"string\",c:[e.BE,r],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{b:\"([a-z]+):/\",e:\"\\\\s\",eW:!0,eE:!0,c:[r]},{cN:\"regexp\",c:[e.BE,r],v:[{b:\"\\\\s\\\\^\",e:\"\\\\s|{|;\",rE:!0},{b:\"~\\\\*?\\\\s+\",e:\"\\\\s|{|;\",rE:!0},{b:\"\\\\*(\\\\.[a-z\\\\-]+)+\"},{b:\"([a-z\\\\-]+\\\\.)+\\\\*\"}]},{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b\",relevance:0},r]};return{aliases:[\"nginxconf\"],c:[e.HCM,{b:e.UIR+\"\\\\s+{\",rB:!0,e:\"{\",c:[{cN:\"section\",b:e.UIR}],relevance:0},{b:e.UIR+\"\\\\s\",e:\";|{\",rB:!0,c:[{cN:\"attribute\",b:e.UIR,starts:b}],relevance:0}],i:\"[^\\\\s\\\\}]\"}});hljs.registerLanguage(\"xml\",function(e){var c={cN:\"symbol\",b:\"&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;\"},s={b:\"\\\\s\",c:[{cN:\"meta-keyword\",b:\"#?[a-z_][a-z1-9_-]+\",i:\"\\\\n\"}]},a=e.inherit(s,{b:\"\\\\(\",e:\"\\\\)\"}),t=e.inherit(e.ASM,{cN:\"meta-string\"}),l=e.inherit(e.QSM,{cN:\"meta-string\"}),r={eW:!0,i:/</,relevance:0,c:[{cN:\"attr\",b:\"[A-Za-z0-9\\\\._:-]+\",relevance:0},{b:/=\\s*/,relevance:0,c:[{cN:\"string\",endsParent:!0,v:[{b:/\"/,e:/\"/,c:[c]},{b:/'/,e:/'/,c:[c]},{b:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\",\"wsf\",\"svg\"],cI:!0,c:[{cN:\"meta\",b:\"<![a-z]\",e:\">\",relevance:10,c:[s,l,t,a,{b:\"\\\\[\",e:\"\\\\]\",c:[{cN:\"meta\",b:\"<![a-z]\",e:\">\",c:[s,a,l,t]}]}]},e.C(\"\\x3c!--\",\"--\\x3e\",{relevance:10}),{b:\"<\\\\!\\\\[CDATA\\\\[\",e:\"\\\\]\\\\]>\",relevance:10},c,{cN:\"meta\",b:/<\\?xml/,e:/\\?>/,relevance:10},{b:/<\\?(php)?/,e:/\\?>/,sL:\"php\",c:[{b:\"/\\\\*\",e:\"\\\\*/\",skip:!0},{b:'b\"',e:'\"',skip:!0},{b:\"b'\",e:\"'\",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:\"tag\",b:\"<style(?=\\\\s|>)\",e:\">\",k:{name:\"style\"},c:[r],starts:{e:\"</style>\",rE:!0,sL:[\"css\",\"xml\"]}},{cN:\"tag\",b:\"<script(?=\\\\s|>)\",e:\">\",k:{name:\"script\"},c:[r],starts:{e:\"<\\/script>\",rE:!0,sL:[\"actionscript\",\"javascript\",\"handlebars\",\"xml\"]}},{cN:\"tag\",b:\"</?\",e:\"/?>\",c:[{cN:\"name\",b:/[^\\/><\\s]+/,relevance:0},r]}]}});hljs.registerLanguage(\"markdown\",function(e){return{aliases:[\"md\",\"mkdown\",\"mkd\"],c:[{cN:\"section\",v:[{b:\"^#{1,6}\",e:\"$\"},{b:\"^.+?\\\\n[=-]{2,}$\"}]},{b:\"<\",e:\">\",sL:\"xml\",relevance:0},{cN:\"bullet\",b:\"^\\\\s*([*+-]|(\\\\d+\\\\.))\\\\s+\"},{cN:\"strong\",b:\"[*_]{2}.+?[*_]{2}\"},{cN:\"emphasis\",v:[{b:\"\\\\*.+?\\\\*\"},{b:\"_.+?_\",relevance:0}]},{cN:\"quote\",b:\"^>\\\\s+\",e:\"$\"},{cN:\"code\",v:[{b:\"^```\\\\w*\\\\s*$\",e:\"^```[ ]*$\"},{b:\"`.+?`\"},{b:\"^( {4}|\\\\t)\",e:\"$\",relevance:0}]},{b:\"^[-\\\\*]{3,}\",e:\"$\"},{b:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",rB:!0,c:[{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,rE:!0,relevance:0},{cN:\"link\",b:\"\\\\]\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"symbol\",b:\"\\\\]\\\\[\",e:\"\\\\]\",eB:!0,eE:!0}],relevance:10},{b:/^\\[[^\\n]+\\]:/,rB:!0,c:[{cN:\"symbol\",b:/\\[/,e:/\\]/,eB:!0,eE:!0},{cN:\"link\",b:/:\\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage(\"properties\",function(e){var r=\"[ \\\\t\\\\f]*\",t=\"(\"+r+\"[:=]\"+r+\"|[ \\\\t\\\\f]+)\",n=\"([^\\\\\\\\\\\\W:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+\",a=\"([^\\\\\\\\:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+\",c={e:t,relevance:0,starts:{cN:\"string\",e:/$/,relevance:0,c:[{b:\"\\\\\\\\\\\\n\"}]}};return{cI:!0,i:/\\S/,c:[e.C(\"^\\\\s*[!#]\",\"$\"),{b:n+t,rB:!0,c:[{cN:\"attr\",b:n,endsParent:!0,relevance:0}],starts:c},{b:a+t,rB:!0,relevance:0,c:[{cN:\"meta\",b:a,endsParent:!0,relevance:0}],starts:c},{cN:\"attr\",relevance:0,b:a+r+\"$\"}]}});hljs.registerLanguage(\"bash\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},a={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]};return{aliases:[\"sh\",\"zsh\"],l:/\\b-?[a-z\\._]+\\b/,k:{keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\",_:\"-ne -eq -lt -gt -f -d -e -s -l -a\"},c:[{cN:\"meta\",b:/^#![^\\n]+sh\\s*$/,relevance:10},{cN:\"function\",b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],relevance:0},e.HCM,a,{cN:\"\",b:/\\\\\"/},{cN:\"string\",b:/'/,e:/'/},t]}});hljs.registerLanguage(\"dockerfile\",function(e){return{aliases:[\"docker\"],cI:!0,k:\"from maintainer expose env arg user onbuild stopsignal\",c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:\"run cmd entrypoint volume add copy workdir label healthcheck shell\",starts:{e:/[^\\\\]$/,sL:\"bash\"}}],i:\"</\"}});hljs.registerLanguage(\"python\",function(e){var r={keyword:\"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10\",built_in:\"Ellipsis NotImplemented\",literal:\"False None True\"},b={cN:\"meta\",b:/^(>>>|\\.\\.\\.) /},c={cN:\"subst\",b:/\\{/,e:/\\}/,k:r,i:/#/},a={b:/\\{\\{/,relevance:0},l={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,b],relevance:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[e.BE,b],relevance:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,b,a,c]},{b:/(fr|rf|f)\"\"\"/,e:/\"\"\"/,c:[e.BE,b,a,c]},{b:/(u|r|ur)'/,e:/'/,relevance:10},{b:/(u|r|ur)\"/,e:/\"/,relevance:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a,c]},{b:/(fr|rf|f)\"/,e:/\"/,c:[e.BE,a,c]},e.ASM,e.QSM]},n={cN:\"number\",relevance:0,v:[{b:e.BNR+\"[lLjJ]?\"},{b:\"\\\\b(0o[0-7]+)[lLjJ]?\"},{b:e.CNR+\"[lLjJ]?\"}]},i={cN:\"params\",b:/\\(/,e:/\\)/,c:[\"self\",b,n,l,e.HCM]};return c.c=[l,n,b],{aliases:[\"py\",\"gyp\",\"ipython\"],k:r,i:/(<\\/|->|\\?)|=>/,c:[b,n,{bK:\"if\",relevance:0},l,e.HCM,{v:[{cN:\"function\",bK:\"def\"},{cN:\"class\",bK:\"class\"}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:\"None\"}]},{cN:\"meta\",b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}});hljs.registerLanguage(\"ini\",function(e){var b={cN:\"number\",relevance:0,v:[{b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},{b:e.NR}]},a=e.C();a.v=[{b:/;/,e:/$/},{b:/#/,e:/$/}];var c={cN:\"variable\",v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},r={cN:\"literal\",b:/\\bon|off|true|false|yes|no\\b/},n={cN:\"string\",c:[e.BE],v:[{b:\"'''\",e:\"'''\",relevance:10},{b:'\"\"\"',e:'\"\"\"',relevance:10},{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]};return{aliases:[\"toml\"],cI:!0,i:/\\S/,c:[a,{cN:\"section\",b:/\\[+/,e:/\\]+/},{b:/^[a-z0-9\\[\\]_\\.-]+(?=\\s*=\\s*)/,cN:\"attr\",starts:{e:/$/,c:[a,{b:/\\[/,e:/\\]/,c:[a,r,c,n,b,\"self\"],relevance:0},r,c,n,b]}}]}});hljs.registerLanguage(\"diff\",function(e){return{aliases:[\"patch\"],c:[{cN:\"meta\",relevance:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:\"comment\",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\\-{3}/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+{3}/,e:/$/},{b:/^\\*{15}$/}]},{cN:\"addition\",b:\"^\\\\+\",e:\"$\"},{cN:\"deletion\",b:\"^\\\\-\",e:\"$\"},{cN:\"addition\",b:\"^\\\\!\",e:\"$\"}]}});hljs.registerLanguage(\"http\",function(e){var t=\"HTTP/[0-9\\\\.]+\";return{aliases:[\"https\"],i:\"\\\\S\",c:[{b:\"^\"+t,e:\"$\",c:[{cN:\"number\",b:\"\\\\b\\\\d{3}\\\\b\"}]},{b:\"^[A-Z]+ (.*?) \"+t+\"$\",rB:!0,e:\"$\",c:[{cN:\"string\",b:\" \",e:\" \",eB:!0,eE:!0},{b:t},{cN:\"keyword\",b:\"[A-Z]+\"}]},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,i:\"\\\\n|\\\\s|=\",starts:{e:\"$\",relevance:0}},{b:\"\\\\n\\\\n\",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage(\"sql\",function(e){var t=e.C(\"--\",\"$\");return{cI:!0,i:/[<>{}*]/,c:[{bK:\"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with\",e:/;/,eW:!0,l:/[\\w\\.]+/,k:{keyword:\"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",literal:\"true false null unknown\",built_in:\"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[{b:\"''\"}]},{cN:\"string\",b:'\"',e:'\"',c:[{b:'\"\"'}]},{cN:\"string\",b:\"`\",e:\"`\"},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}});hljs.registerLanguage(\"vala\",function(e){return{k:{keyword:\"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var\",built_in:\"DBus GLib CCode Gee Object Gtk Posix\",literal:\"false true null\"},c:[{cN:\"class\",bK:\"class interface namespace\",e:\"{\",eE:!0,i:\"[^,:\\\\n\\\\s\\\\.]\",c:[e.UTM]},e.CLCM,e.CBCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"',relevance:5},e.ASM,e.QSM,e.CNM,{cN:\"meta\",b:\"^#\",e:\"$\",relevance:2}]}});hljs.registerLanguage(\"asciidoc\",function(e){return{aliases:[\"adoc\"],c:[e.C(\"^/{4,}\\\\n\",\"\\\\n/{4,}$\",{relevance:10}),e.C(\"^//\",\"$\",{relevance:0}),{cN:\"title\",b:\"^\\\\.\\\\w.*$\"},{b:\"^[=\\\\*]{4,}\\\\n\",e:\"\\\\n^[=\\\\*]{4,}$\",relevance:10},{cN:\"section\",relevance:10,v:[{b:\"^(={1,5}) .+?( \\\\1)?$\"},{b:\"^[^\\\\[\\\\]\\\\n]+?\\\\n[=\\\\-~\\\\^\\\\+]{2,}$\"}]},{cN:\"meta\",b:\"^:.+?:\",e:\"\\\\s\",eE:!0,relevance:10},{cN:\"meta\",b:\"^\\\\[.+?\\\\]$\",relevance:0},{cN:\"quote\",b:\"^_{4,}\\\\n\",e:\"\\\\n_{4,}$\",relevance:10},{cN:\"code\",b:\"^[\\\\-\\\\.]{4,}\\\\n\",e:\"\\\\n[\\\\-\\\\.]{4,}$\",relevance:10},{b:\"^\\\\+{4,}\\\\n\",e:\"\\\\n\\\\+{4,}$\",c:[{b:\"<\",e:\">\",sL:\"xml\",relevance:0}],relevance:10},{cN:\"bullet\",b:\"^(\\\\*+|\\\\-+|\\\\.+|[^\\\\n]+?::)\\\\s+\"},{cN:\"symbol\",b:\"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\s+\",relevance:10},{cN:\"strong\",b:\"\\\\B\\\\*(?![\\\\*\\\\s])\",e:\"(\\\\n{2}|\\\\*)\",c:[{b:\"\\\\\\\\*\\\\w\",relevance:0}]},{cN:\"emphasis\",b:\"\\\\B'(?!['\\\\s])\",e:\"(\\\\n{2}|')\",c:[{b:\"\\\\\\\\'\\\\w\",relevance:0}],relevance:0},{cN:\"emphasis\",b:\"_(?![_\\\\s])\",e:\"(\\\\n{2}|_)\",relevance:0},{cN:\"string\",v:[{b:\"``.+?''\"},{b:\"`.+?'\"}]},{cN:\"code\",b:\"(`.+?`|\\\\+.+?\\\\+)\",relevance:0},{cN:\"code\",b:\"^[ \\\\t]\",e:\"$\",relevance:0},{b:\"^'{3,}[ \\\\t]*$\",relevance:10},{b:\"(link:)?(http|https|ftp|file|irc|image:?):\\\\S+\\\\[.*?\\\\]\",rB:!0,c:[{b:\"(link|image:?):\",relevance:0},{cN:\"link\",b:\"\\\\w\",e:\"[^\\\\[]+\",relevance:0},{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,eE:!0,relevance:0}],relevance:10}]}});hljs.registerLanguage(\"json\",function(e){var i={literal:\"true false null\"},n=[e.CLCM,e.CBCM],c=[e.QSM,e.CNM],r={e:\",\",eW:!0,eE:!0,c:c,k:i},t={b:\"{\",e:\"}\",c:[{cN:\"attr\",b:/\"/,e:/\"/,c:[e.BE],i:\"\\\\n\"},e.inherit(r,{b:/:/})].concat(n),i:\"\\\\S\"},a={b:\"\\\\[\",e:\"\\\\]\",c:[e.inherit(r)],i:\"\\\\S\"};return c.push(t,a),n.forEach(function(e){c.push(e)}),{c:c,k:i,i:\"\\\\S\"}});hljs.registerLanguage(\"rust\",function(e){var t=\"([ui](8|16|32|64|128|size)|f(32|64))?\",r=\"drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!\";return{aliases:[\"rs\"],k:{keyword:\"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield\",literal:\"true false Some None Ok Err\",built_in:r},l:e.IR+\"!?\",i:\"</\",c:[e.CLCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),e.inherit(e.QSM,{b:/b?\"/,i:null}),{cN:\"string\",v:[{b:/r(#*)\"(.|\\n)*?\"\\1(?!#)/},{b:/b?'\\\\?(x\\w{2}|u\\w{4}|U\\w{8}|.)'/}]},{cN:\"symbol\",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:\"number\",v:[{b:\"\\\\b0b([01_]+)\"+t},{b:\"\\\\b0o([0-7_]+)\"+t},{b:\"\\\\b0x([A-Fa-f0-9_]+)\"+t},{b:\"\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)\"+t}],relevance:0},{cN:\"function\",bK:\"fn\",e:\"(\\\\(|<)\",eE:!0,c:[e.UTM]},{cN:\"meta\",b:\"#\\\\!?\\\\[\",e:\"\\\\]\",c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{cN:\"class\",bK:\"type\",e:\";\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"\\\\S\"},{cN:\"class\",bK:\"trait enum struct union\",e:\"{\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"[\\\\w\\\\d]\"},{b:e.IR+\"::\",k:{built_in:r}},{b:\"->\"}]}});hljs.registerLanguage(\"awk\",function(e){return{k:{keyword:\"BEGIN END if else while do for in break continue delete next nextfile function func exit|10\"},c:[{cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},{cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,relevance:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,relevance:10},{b:/(u|r|ur)'/,e:/'/,relevance:10},{b:/(u|r|ur)\"/,e:/\"/,relevance:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},e.ASM,e.QSM]},e.RM,e.HCM,e.NM]}});hljs.registerLanguage(\"java\",function(e){var a=\"false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do\",t={cN:\"number\",b:\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",relevance:0};return{aliases:[\"jsp\"],k:a,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,c:[{b:/\\w+@/,relevance:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"new throw return else\",relevance:0},{cN:\"function\",b:\"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\\\s*,\\\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\\\s+)+\"+e.UIR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,relevance:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,k:a,relevance:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},t,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}});hljs.registerLanguage(\"cs\",function(e){var a={keyword:\"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield\",literal:\"null false true\"},i={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],relevance:0},c={cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},r=e.inherit(c,{i:/\\n/}),n={cN:\"subst\",b:\"{\",e:\"}\",k:a},t=e.inherit(n,{i:/\\n/}),s={cN:\"string\",b:/\\$\"/,e:'\"',i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},e.BE,t]},l={cN:\"string\",b:/\\$@\"/,e:'\"',c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},n]},b=e.inherit(l,{i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},t]});n.c=[l,s,c,e.ASM,e.QSM,i,e.CBCM],t.c=[b,s,r,e.ASM,e.QSM,i,e.inherit(e.CBCM,{i:/\\n/})];var o={v:[l,s,c,e.ASM,e.QSM]},d=e.IR+\"(<\"+e.IR+\"(\\\\s*,\\\\s*\"+e.IR+\")*>)?(\\\\[\\\\])?\";return{aliases:[\"csharp\",\"c#\"],k:a,i:/::/,c:[e.C(\"///\",\"$\",{rB:!0,c:[{cN:\"doctag\",v:[{b:\"///\",relevance:0},{b:\"\\x3c!--|--\\x3e\"},{b:\"</?\",e:\">\"}]}]}),e.CLCM,e.CBCM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef warning error line region endregion pragma checksum\"}},o,i,{bK:\"class interface\",e:/[{;=]/,i:/[^\\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:\"namespace\",e:/[{;=]/,i:/[^\\s:]/,c:[e.inherit(e.TM,{b:\"[a-zA-Z](\\\\.?\\\\w)*\"}),e.CLCM,e.CBCM]},{cN:\"meta\",b:\"^\\\\s*\\\\[\",eB:!0,e:\"\\\\]\",eE:!0,c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{bK:\"new return throw await else\",relevance:0},{cN:\"function\",b:\"(\"+d+\"\\\\s+)+\"+e.IR+\"\\\\s*\\\\(\",rB:!0,e:/\\s*[{;=]/,eE:!0,k:a,c:[{b:e.IR+\"\\\\s*\\\\(\",rB:!0,c:[e.TM],relevance:0},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:a,relevance:0,c:[o,i,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage(\"mathematica\",function(e){return{aliases:[\"mma\",\"wl\"],l:\"(\\\\$|\\\\b)\"+e.IR+\"\\\\b\",k:\"AASTriangle AbelianGroup Abort AbortKernels AbortProtect AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Activate Active ActiveClassification ActiveClassificationObject ActiveItem ActivePrediction ActivePredictionObject ActiveStyle AcyclicGraphQ AddOnHelpPath AddSides AddTo AddToSearchIndex AddUsers AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AdministrativeDivisionData AffineHalfSpace AffineSpace AffineStateSpaceModel AffineTransform After AggregatedEntityClass AggregationLayer AircraftData AirportData AirPressureData AirTemperatureData AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowAdultContent AllowedCloudExtraParameters AllowedCloudParameterExtensions AllowedDimensions AllowedFrequencyRange AllowedHeads AllowGroupClose AllowIncomplete AllowInlineCells AllowKernelInitialization AllowLooseGrammar AllowReverseGroupClose AllowScriptLevelChange AllTrue Alphabet AlphabeticOrder AlphabeticSort AlphaChannel AlternateImage AlternatingFactorial AlternatingGroup AlternativeHypothesis Alternatives AltitudeMethod AmbientLight AmbiguityFunction AmbiguityList Analytic AnatomyData AnatomyForm AnatomyPlot3D AnatomySkinStyle AnatomyStyling AnchoredSearch And AndersonDarlingTest AngerJ AngleBisector AngleBracket AnglePath AnglePath3D AngleVector AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning AnimationRunTime AnimationTimeIndex Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotate Annotation AnnotationDelete AnnotationNames AnnotationRules AnnotationValue Annuity AnnuityDue Annulus AnomalyDetection AnomalyDetectorFunction Anonymous Antialiasing AntihermitianMatrixQ Antisymmetric AntisymmetricMatrixQ Antonyms AnyOrder AnySubset AnyTrue Apart ApartSquareFree APIFunction Appearance AppearanceElements AppearanceRules AppellF1 Append AppendCheck AppendLayer AppendTo ApplicationIdentificationKey Apply ApplySides ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcCurvature ARCHProcess ArcLength ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Area Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess Around AroundReplace ARProcess Array ArrayComponents ArrayDepth ArrayFilter ArrayFlatten ArrayMesh ArrayPad ArrayPlot ArrayQ ArrayResample ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads ASATriangle Ask AskAppend AskConfirm AskDisplay AskedQ AskedValue AskFunction AskState AskTemplateDisplay AspectRatio AspectRatioFixed Assert AssociateTo Association AssociationFormat AssociationMap AssociationQ AssociationThread AssumeDeterministic Assuming Assumptions AstronomicalData AsymptoticDSolveValue AsymptoticEqual AsymptoticEquivalent AsymptoticGreater AsymptoticGreaterEqual AsymptoticIntegrate AsymptoticLess AsymptoticLessEqual AsymptoticOutputTracker AsymptoticRSolveValue AsymptoticSolve AsymptoticSum Asynchronous AsynchronousTaskObject AsynchronousTasks Atom AtomCoordinates AtomCount AtomDiagramCoordinates AtomList AtomQ AttentionLayer Attributes Audio AudioAmplify AudioAnnotate AudioAnnotationLookup AudioBlockMap AudioCapture AudioChannelAssignment AudioChannelCombine AudioChannelMix AudioChannels AudioChannelSeparate AudioData AudioDelay AudioDelete AudioDevice AudioDistance AudioFade AudioFrequencyShift AudioGenerator AudioIdentify AudioInputDevice AudioInsert AudioIntervals AudioJoin AudioLabel AudioLength AudioLocalMeasurements AudioLooping AudioLoudness AudioMeasurements AudioNormalize AudioOutputDevice AudioOverlay AudioPad AudioPan AudioPartition AudioPause AudioPitchShift AudioPlay AudioPlot AudioQ AudioRecord AudioReplace AudioResample AudioReverb AudioSampleRate AudioSpectralMap AudioSpectralTransformation AudioSplit AudioStop AudioStream AudioStreams AudioTimeStretch AudioTrim AudioType AugmentedPolyhedron AugmentedSymmetricPolynomial Authenticate Authentication AuthenticationDialog AutoAction Autocomplete AutocompletionFunction AutoCopy AutocorrelationTest AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutoQuoteCharacters AutoRefreshed AutoRemove AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords AutoSubmitting Axes AxesEdge AxesLabel AxesOrigin AxesStyle AxiomaticTheory AxisBabyMonsterGroupB Back Background BackgroundAppearance BackgroundTasksSettings Backslash Backsubstitution Backward Ball Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarcodeImage BarcodeRecognize BaringhausHenzeTest BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseDecode BaseEncode BaseForm Baseline BaselinePosition BaseStyle BasicRecurrentLayer BatchNormalizationLayer BatchSize BatesDistribution BattleLemarieWavelet BayesianMaximization BayesianMaximizationObject BayesianMinimization BayesianMinimizationObject Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized Between BetweennessCentrality BeveledPolyhedron BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryDeserialize BinaryDistance BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinarySerialize BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BiquadraticFilterModel BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor BiweightLocation BiweightMidvariance Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockchainAddressData BlockchainBase BlockchainBlockData BlockchainContractValue BlockchainData BlockchainGet BlockchainKeyEncode BlockchainPut BlockchainTokenData BlockchainTransaction BlockchainTransactionData BlockchainTransactionSign BlockchainTransactionSubmit BlockMap BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bond BondCount BondList BondQ Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms BooleanQ BooleanRegion Booleans BooleanStrings BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryDiscretizeGraphics BoundaryDiscretizeRegion BoundaryMesh BoundaryMeshRegion BoundaryMeshRegionQ BoundaryStyle BoundedRegionQ BoundingRegion Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxObject BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break BridgeData BrightnessEqualize BroadcastStationData Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurve3DBoxOptions BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BSplineSurface3DBoxOptions BubbleChart BubbleChart3D BubbleScale BubbleSizes BuildingData BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteArray ByteArrayFormat ByteArrayQ ByteArrayToString ByteCount ByteOrderingC CachedValue CacheGraphics CachePersistence CalendarConvert CalendarData CalendarType Callout CalloutMarker CalloutStyle CallPacket CanberraDistance Cancel CancelButton CandlestickChart CanonicalGraph CanonicalizePolygon CanonicalizePolyhedron CanonicalName CanonicalWarpingCorrespondence CanonicalWarpingDistance CantorMesh CantorStaircase Cap CapForm CapitalDifferentialD Capitalize CapsuleShape CaptureRunning CardinalBSplineBasis CarlemanLinearize CarmichaelLambda CaseOrdering Cases CaseSensitive Cashflow Casoratian Catalan CatalanNumber Catch Catenate CatenateLayer CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling CelestialSystem Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEvaluationLanguage CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellLabelStyle CellLabelTemplate CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterArray CenterDot CentralFeature CentralMoment CentralMomentGeneratingFunction Cepstrogram CepstrogramArray CepstrumArray CForm ChampernowneNumber ChangeOptions ChannelBase ChannelBrokerAction ChannelDatabin ChannelHistoryLength ChannelListen ChannelListener ChannelListeners ChannelListenerWait ChannelObject ChannelPreSendFunction ChannelReceiverFunction ChannelSend ChannelSubscribers ChanVeseBinarize Character CharacterCounts CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterName CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop ChromaticityPlot ChromaticityPlot3D ChromaticPolynomial Circle CircleBox CircleDot CircleMinus CirclePlus CirclePoints CircleThrough CircleTimes CirculantGraph CircularOrthogonalMatrixDistribution CircularQuaternionMatrixDistribution CircularRealMatrixDistribution CircularSymplecticMatrixDistribution CircularUnitaryMatrixDistribution Circumsphere CityData ClassifierFunction ClassifierInformation ClassifierMeasurements ClassifierMeasurementsObject Classify ClassPriors Clear ClearAll ClearAttributes ClearCookies ClearPermissions ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipPlanesStyle ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent CloudAccountData CloudBase CloudConnect CloudDeploy CloudDirectory CloudDisconnect CloudEvaluate CloudExport CloudExpression CloudExpressions CloudFunction CloudGet CloudImport CloudLoggingData CloudObject CloudObjectInformation CloudObjectInformationData CloudObjectNameFormat CloudObjects CloudObjectURLType CloudPublish CloudPut CloudRenderingMethod CloudSave CloudShare CloudSubmit CloudSymbol CloudUnshare ClusterClassify ClusterDissimilarityFunction ClusteringComponents ClusteringTree CMYKColor Coarse CodeAssistOptions Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorBalance ColorCombine ColorConvert ColorCoverage ColorData ColorDataFunction ColorDetect ColorDistance ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQ ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorsNear ColorSpace ColorToneMapping Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CombinedEntityClass CombinerFunction CometData CommonDefaultFormatTypes Commonest CommonestFilter CommonName CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompanyData CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledCodeFunction CompiledFunction CompilerOptions Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComplexListPlot ComplexPlot ComplexPlot3D ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries CompositeQ Composition CompoundElement CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData ComputeUncertainty Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath ConformAudio ConformImages Congruent ConicHullRegion ConicHullRegion3DBox ConicHullRegionBox ConicOptimization Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphComponents ConnectedGraphQ ConnectedMeshComponents ConnectedMoleculeComponents ConnectedMoleculeQ ConnectionSettings ConnectLibraryCallbackFunction ConnectSystemModelComponents ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray ConstantArrayLayer ConstantImage ConstantPlusLayer ConstantRegionQ Constants ConstantTimesLayer ConstellationData ConstrainedMax ConstrainedMin Construct Containing ContainsAll ContainsAny ContainsExactly ContainsNone ContainsOnly ContentFieldOptions ContentLocationFunction ContentObject ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTask ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean ContrastiveLossLayer Control ControlActive ControlAlignment ControlGroupContentsBox ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket ConvexHullMesh ConvexPolygonQ ConvexPolyhedronQ ConvolutionLayer Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CookieFunction Cookies CoordinateBoundingBox CoordinateBoundingBoxArray CoordinateBounds CoordinateBoundsArray CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDatabin CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CountDistinct CountDistinctBy CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Counts CountsBy Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateCellID CreateChannel CreateCloudExpression CreateDatabin CreateDataSystemModel CreateDialog CreateDirectory CreateDocument CreateFile CreateIntermediateDirectories CreateManagedLibraryExpression CreateNotebook CreatePalette CreatePalettePacket CreatePermissionsGroup CreateScheduledTask CreateSearchIndex CreateSystemModel CreateTemporary CreateUUID CreateWindow CriterionFunction CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossEntropyLossLayer CrossingCount CrossingDetect CrossingPolygon CrossMatrix Csc Csch CTCLossLayer Cube CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrencyConvert CurrentDate CurrentImage CurrentlySpeakingPacket CurrentNotebookImage CurrentScreenImage CurrentValue Curry CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecompositionD DagumDistribution DamData DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DatabaseConnect DatabaseDisconnect DatabaseReference Databin DatabinAdd DatabinRemove Databins DatabinUpload DataCompression DataDistribution DataRange DataReversed Dataset Date DateBounds Dated DateDelimiters DateDifference DatedUnit DateFormat DateFunction DateHistogram DateList DateListLogPlot DateListPlot DateListStepPlot DateObject DateObjectQ DateOverlapsQ DatePattern DatePlus DateRange DateReduction DateString DateTicksFormat DateValue DateWithinQ DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayHemisphere DaylightQ DayMatchQ DayName DayNightTerminator DayPlus DayRange DayRound DeBruijnGraph DeBruijnSequence Debug DebugTag Decapitalize Decimal DecimalForm DeclareKnownSymbols DeclarePackage Decompose DeconvolutionLayer Decrement Decrypt DecryptFile DedekindEta DeepSpaceProbeData Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultPrintPrecision DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValue DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod DefineResourceFunction Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic DEigensystem DEigenvalues Deinitialization Del DelaunayMesh Delayed Deletable Delete DeleteAnomalies DeleteBorderComponents DeleteCases DeleteChannel DeleteCloudExpression DeleteContents DeleteDirectory DeleteDuplicates DeleteDuplicatesBy DeleteFile DeleteMissing DeleteObject DeletePermissionsKey DeleteSearchIndex DeleteSmallComponents DeleteStopwords DeleteWithContents DeletionWarning DelimitedArray DelimitedSequence Delimiter DelimiterFlashTime DelimiterMatching Delimiters DeliveryFunction Dendrogram Denominator DensityGraphics DensityHistogram DensityPlot DensityPlot3D DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DerivedKey DescriptorStateSpace DesignMatrix DestroyAfterEvaluation Det DeviceClose DeviceConfigure DeviceExecute DeviceExecuteAsynchronous DeviceObject DeviceOpen DeviceOpenQ DeviceRead DeviceReadBuffer DeviceReadLatest DeviceReadList DeviceReadTimeSeries Devices DeviceStreams DeviceWrite DeviceWriteBuffer DGaussianWavelet DiacriticalPositioning Diagonal DiagonalizableMatrixQ DiagonalMatrix DiagonalMatrixQ Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DictionaryWordQ DifferenceDelta DifferenceOrder DifferenceQuotient DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitalSignature DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralAngle DihedralGroup Dilation DimensionalCombinations DimensionalMeshComponents DimensionReduce DimensionReducerFunction DimensionReduction Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletBeta DirichletCharacter DirichletCondition DirichletConvolve DirichletDistribution DirichletEta DirichletL DirichletLambda DirichletTransform DirichletWindow DisableConsolePrintPacket DisableFormatting DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLimit DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscreteMaxLimit DiscreteMinLimit DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform DiscretizeGraphics DiscretizeRegion Discriminant DisjointQ Disjunction Disk DiskBox DiskMatrix DiskSegment Dispatch DispatchQ DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceMatrix DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers DivideSides Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentGenerator DocumentGeneratorInformation DocumentGeneratorInformationData DocumentGenerators DocumentNotebook DocumentWeightingRules Dodecahedron DomainRegistrationInformation DominantColors DOSTextFormat Dot DotDashed DotEqual DotLayer DotPlusLayer Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DropoutLayer DSolve DSolveValue Dt DualLinearProgramming DualPolyhedron DualSystemsModel DumpGet DumpSave DuplicateFreeQ Duration Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicGeoGraphics DynamicImage DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptionsE EarthImpactData EarthquakeData EccentricityCentrality Echo EchoFunction EclipseType EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeContract EdgeCost EdgeCount EdgeCoverQ EdgeCycleMatrix EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight EdgeWeightedGraphQ Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData ElementwiseLayer ElidedForms Eliminate EliminationOrder Ellipsoid EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmbedCode EmbeddedHTML EmbeddedService EmbeddingLayer EmbeddingObject EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EmptyRegion EnableConsolePrintPacket Enabled Encode Encrypt EncryptedObject EncryptFile End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfBuffer EndOfFile EndOfLine EndOfString EndPackage EngineEnvironment EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entity EntityClass EntityClassList EntityCopies EntityFunction EntityGroup EntityInstance EntityList EntityPrefetch EntityProperties EntityProperty EntityPropertyClass EntityRegister EntityStore EntityStores EntityTypeName EntityUnregister EntityValue Entropy EntropyFilter Environment Epilog EpilogFunction Equal EqualColumns EqualRows EqualTilde EqualTo EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EscapeRadius EstimatedBackground EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerAngles EulerCharacteristic EulerE EulerGamma EulerianGraphQ EulerMatrix EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluateScheduledTask EvaluationBox EvaluationCell EvaluationCompletionAction EvaluationData EvaluationElements EvaluationEnvironment EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels EventSeries ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludedLines ExcludedPhysicalQuantities ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog ExoplanetData Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi ExpirationDate Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportByteArray ExportForm ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpressionUUID ExpToTrig ExtendedEntityClass ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalBundle ExternalCall ExternalDataCharacterEncoding ExternalEvaluate ExternalFunction ExternalFunctionName ExternalObject ExternalOptions ExternalSessionObject ExternalSessions ExternalTypeSignature ExternalValue Extract ExtractArchive ExtractLayer ExtremeValueDistributionFaceForm FaceGrids FaceGridsStyle FacialFeatures Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail Failure FailureAction FailureDistribution FailureQ False FareySequence FARIMAProcess FeatureDistance FeatureExtract FeatureExtraction FeatureExtractor FeatureExtractorFunction FeatureNames FeatureNearest FeatureSpacePlot FeatureSpacePlot3D FeatureTypes FEDisableConsolePrintPacket FeedbackLinearize FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket FetalGrowthData Fibonacci Fibonorial FieldCompletionFunction FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileConvert FileDate FileExistsQ FileExtension FileFormat FileHandler FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameForms FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileSize FileSystemMap FileSystemScan FileTemplate FileTemplateApply FileType FilledCurve FilledCurveBox FilledCurveBoxOptions Filling FillingStyle FillingTransform FilteredEntityClass FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindAnomalies FindArgMax FindArgMin FindChannels FindClique FindClusters FindCookies FindCurvePath FindCycle FindDevices FindDistribution FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEdgeIndependentPaths FindEquationalProof FindEulerianCycle FindExternalEvaluators FindFaces FindFile FindFit FindFormula FindFundamentalCycles FindGeneratingFunction FindGeoLocation FindGeometricConjectures FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindHamiltonianPath FindHiddenMarkovStates FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMatchingColor FindMaximum FindMaximumFlow FindMaxValue FindMeshDefects FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindMoleculeSubstructure FindPath FindPeaks FindPermutation FindPostmanTour FindProcessParameters FindRepeat FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindSpanningTree FindSystemModelEquilibrium FindTextualAnswer FindThreshold FindTransientRepeat FindVertexCover FindVertexCut FindVertexIndependentPaths Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstCase FirstPassageTimeDistribution FirstPosition FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FitRegularization FittedModel FixedOrder FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlattenLayer FlatTopWindow FlipView Floor FlowPolynomial FlushPrintOutputPacket Fold FoldList FoldPair FoldPairList FollowRedirects Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FormControl FormFunction FormLayoutFunction FormObject FormPage FormTheme FormulaData FormulaLookup FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalGaussianNoiseProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameRate FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrenetSerretSystem FrequencySamplingFilterKernel FresnelC FresnelF FresnelG FresnelS Friday FrobeniusNumber FrobeniusSolve FromAbsoluteTime FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS FromEntity FromJulianDate FromLetterNumber FromPolarCoordinates FromRomanNumeral FromSphericalCoordinates FromUnixTime Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullInformationOutputRegulator FullOptions FullRegion FullSimplify Function FunctionCompile FunctionCompileExport FunctionCompileExportByteArray FunctionCompileExportLibrary FunctionCompileExportString FunctionDomain FunctionExpand FunctionInterpolation FunctionPeriod FunctionRange FunctionSpace FussellVeselyImportanceGaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins GalaxyData GalleryView Gamma GammaDistribution GammaRegularized GapPenalty GARCHProcess GatedRecurrentLayer Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianOrthogonalMatrixDistribution GaussianSymplecticMatrixDistribution GaussianUnitaryMatrixDistribution GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateAsymmetricKeyPair GenerateConditions GeneratedCell GeneratedDocumentBinding GenerateDerivedKey GenerateDigitalSignature GenerateDocument GeneratedParameters GeneratedQuantityMagnitudes GenerateHTTPResponse GenerateSecuredAuthenticationKey GenerateSymmetricKey GeneratingFunction GeneratorDescription GeneratorHistoryLength GeneratorOutputType Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeoAntipode GeoArea GeoArraySize GeoBackground GeoBoundingBox GeoBounds GeoBoundsRegion GeoBubbleChart GeoCenter GeoCircle GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDisk GeoDisplacement GeoDistance GeoDistanceList GeoElevationData GeoEntities GeoGraphics GeogravityModelData GeoGridDirectionDifference GeoGridLines GeoGridLinesStyle GeoGridPosition GeoGridRange GeoGridRangePadding GeoGridUnitArea GeoGridUnitDistance GeoGridVector GeoGroup GeoHemisphere GeoHemisphereBoundary GeoHistogram GeoIdentify GeoImage GeoLabels GeoLength GeoListPlot GeoLocation GeologicalPeriodData GeomagneticModelData GeoMarker GeometricAssertion GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricScene GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoModel GeoNearest GeoPath GeoPosition GeoPositionENU GeoPositionXYZ GeoProjection GeoProjectionData GeoRange GeoRangePadding GeoRegionValuePlot GeoResolution GeoScaleBar GeoServer GeoSmoothHistogram GeoStreamPlot GeoStyling GeoStylingImageFunction GeoVariant GeoVector GeoVectorENU GeoVectorPlot GeoVectorXYZ GeoVisibleRegion GeoVisibleRegionBoundary GeoWithinQ GeoZoomLevel GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenAngle GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter GrammarApply GrammarRules GrammarToken Graph Graph3D GraphAssortativity GraphAutomorphismGroup GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel Greater GreaterEqual GreaterEqualLess GreaterEqualThan GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterThan GreaterTilde Green GreenFunction Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupBy GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators Groupings GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain GroupTogetherGrouping GroupTogetherNestedGrouping GrowCutComponents Gudermannian GuidedFilter GumbelDistributionHaarWavelet HadamardMatrix HalfLine HalfNormalDistribution HalfPlane HalfSpace HamiltonianGraphQ HammingDistance HammingWindow HandlerFunctions HandlerFunctionsKeys HankelH1 HankelH2 HankelMatrix HankelTransform HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash Haversine HazardFunction Head HeadCompose HeaderLines Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings Here HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenMarkovProcess HiddenSurface Highlighted HighlightGraph HighlightImage HighlightMesh HighpassFilter HigmanSimsGroupHS HilbertCurve HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HistoricalPeriodData HitMissTransform HITSCentrality HjorthDistribution HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HostLookup HotellingTSquareDistribution HoytDistribution HTMLSave HTTPErrorResponse HTTPRedirect HTTPRequest HTTPRequestData HTTPResponse Hue HumanGrowthData HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyperplane Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestDataI IconData Iconize IconizedObject IconRules Icosahedron Identity IdentityMatrix If IgnoreCase IgnoreDiacritics IgnorePunctuation IgnoreSpellCheck IgnoringInactive Im Image Image3D Image3DProjection Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageApplyIndexed ImageAspectRatio ImageAssemble ImageAugmentationLayer ImageBoundingBoxes ImageCache ImageCacheValid ImageCapture ImageCaptureFunction ImageCases ImageChannels ImageClip ImageCollage ImageColorSpace ImageCompose ImageContainsQ ImageContents ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDisplacements ImageDistance ImageEffect ImageExposureCombine ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageFocusCombine ImageForestingComponents ImageFormattingWidth ImageForwardTransformation ImageGraphics ImageHistogram ImageIdentify ImageInstanceQ ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarker ImageMarkers ImageMeasurements ImageMesh ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImagePosition ImagePreviewFunction ImagePyramid ImagePyramidApply ImageQ ImageRangeCache ImageRecolor ImageReflect ImageRegion ImageResize ImageResolution ImageRestyle ImageRotate ImageRotated ImageSaliencyFilter ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions ImagingDevice ImplicitRegion Implies Import ImportAutoReplacements ImportByteArray ImportOptions ImportString ImprovementImportance In Inactivate Inactive IncidenceGraph IncidenceList IncidenceMatrix IncludeAromaticBonds IncludeConstantBasis IncludeDefinitions IncludeDirectories IncludeFileExtension IncludeGeneratorTasks IncludeHydrogens IncludeInflections IncludeMetaInformation IncludePods IncludeQuantities IncludeRelatedTables IncludeSingularTerm IncludeWindowTimes Increment IndefiniteMatrixQ Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentPhysicalQuantity IndependentUnit IndependentUnitDimension IndependentVertexSetQ Indeterminate IndeterminateThreshold IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers InfiniteLine InfinitePlane Infinity Infix InflationAdjust InflationMethod Information InformationData InformationDataGrid Inherited InheritScope InhomogeneousPoissonProcess InitialEvaluationHistory Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InitializationObjects InitializationValue Initialize InitialSeeding InlineCounterAssignments InlineCounterIncrements InlineRules Inner InnerPolygon InnerPolyhedron Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionFunction InsertionPointObject InsertLinebreaks InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Insphere Install InstallService InstanceNormalizationLayer InString Integer IntegerDigits IntegerExponent IntegerLength IntegerName IntegerPart IntegerPartitions IntegerQ IntegerReverse Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction Interpreter InterpretTemplate InterquartileRange Interrupt InterruptSettings IntersectingQ Intersection Interval IntervalIntersection IntervalMarkers IntervalMarkersStyle IntervalMemberQ IntervalSlider IntervalUnion Into Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHankelTransform InverseHaversine InverseImagePyramid InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseMellinTransform InversePermutation InverseRadon InverseRadonTransform InverseSeries InverseShortTimeFourier InverseSpectrogram InverseSurvivalFunction InverseTransformedRegion InverseWaveletTransform InverseWeierstrassP InverseWishartMatrixDistribution InverseZTransform Invisible InvisibleApplication InvisibleTimes IPAddress IrreduciblePolynomialQ IslandData IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemAspectRatio ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcessJaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join JoinAcross Joined JoinedCurve JoinedCurveBox JoinedCurveBoxOptions JoinForm JordanDecomposition JordanModelDecomposition JulianDate JuliaSetBoettcher JuliaSetIterationCount JuliaSetPlot JuliaSetPointsK KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KEdgeConnectedComponents KEdgeConnectedGraphQ KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelFunction KernelMixtureDistribution Kernels Ket Key KeyCollisionFunction KeyComplement KeyDrop KeyDropFrom KeyExistsQ KeyFreeQ KeyIntersection KeyMap KeyMemberQ KeypointStrength Keys KeySelect KeySort KeySortBy KeyTake KeyUnion KeyValueMap KeyValuePattern Khinchin KillProcess KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnapsackSolve KnightTourGraph KnotData KnownUnitQ KochCurve KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter KVertexConnectedComponents KVertexConnectedGraphQLABColor Label Labeled LabeledSlider LabelingFunction LabelingSize LabelStyle LabelVisibility LaguerreL LakeData LambdaComponents LambertW LaminaData LanczosWindow LandauDistribution Language LanguageCategory LanguageData LanguageIdentify LanguageOptions LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCHColor LCM LeaderSize LeafCount LeapYearQ LearnDistribution LearnedDistribution LearningRate LearningRateMultipliers LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessEqualThan LessFullEqual LessGreater LessLess LessSlantEqual LessThan LessTilde LetterCharacter LetterCounts LetterNumber LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryDataType LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox Line3DBoxOptions LinearFilter LinearFractionalOptimization LinearFractionalTransform LinearGradientImage LinearizingTransformationData LinearLayer LinearModelFit LinearOffsetFunction LinearOptimization LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBoxOptions LineBreak LinebreakAdjustments LineBreakChart LinebreakSemicolonWeighting LineBreakWithin LineColor LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRankCentrality LinkRead LinkReadHeld LinkReadyQ Links LinkService LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot ListDensityPlot3D Listen ListFormat ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListSliceContourPlot3D ListSliceDensityPlot3D ListSliceVectorPlot3D ListStepPlot ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalAdaptiveBinarize LocalCache LocalClusteringCoefficient LocalizeDefinitions LocalizeVariables LocalObject LocalObjects LocalResponseNormalizationLayer LocalSubmit LocalSymbol LocalTime LocalTimeZone LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogisticSigmoid LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongestOrderedSequence LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow LongShortTermMemoryLayer Lookup Loopback LoopFreeGraphQ LossFunction LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowerTriangularMatrixQ LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LunarEclipse LUVColor LyapunovSolve LyonsGroupLyMachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MailAddressValidation MailExecute MailFolder MailItem MailReceiverFunction MailResponseFunction MailSearch MailServerConnect MailServerConnection MailSettings MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules ManagedLibraryExpressionID ManagedLibraryExpressionQ MandelbrotSetBoettcher MandelbrotSetDistance MandelbrotSetIterationCount MandelbrotSetMemberQ MandelbrotSetPlot MangoldtLambda ManhattanDistance Manipulate Manipulator MannedSpaceMissionData MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarchenkoPasturDistribution MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicalFunctionData MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixNormalDistribution MatrixPlot MatrixPower MatrixPropertyDistribution MatrixQ MatrixRank MatrixTDistribution Max MaxBend MaxCellMeasure MaxColorDistance MaxDetect MaxDuration MaxExtraBandwidths MaxExtraConditions MaxFeatureDisplacement MaxFeatures MaxFilter MaximalBy Maximize MaxItems MaxIterations MaxLimit MaxMemoryUsed MaxMixtureKernels MaxOverlapFraction MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxTrainingRounds MaxValue MaxwellDistribution MaxWordGap McLaughlinGroupMcL Mean MeanAbsoluteLossLayer MeanAround MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter MeanSquaredLossLayer Median MedianDeviation MedianFilter MedicalTestData Medium MeijerG MeijerGReduce MeixnerDistribution MellinConvolve MellinTransform MemberQ MemoryAvailable MemoryConstrained MemoryConstraint MemoryInUse MengerMesh Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuList MenuPacket MenuSortingValue MenuStyle MenuView Merge MergeDifferences MergingFunction MersennePrimeExponent MersennePrimeExponentQ Mesh MeshCellCentroid MeshCellCount MeshCellHighlight MeshCellIndex MeshCellLabel MeshCellMarker MeshCellMeasure MeshCellQuality MeshCells MeshCellShapeFunction MeshCellStyle MeshCoordinates MeshFunctions MeshPrimitives MeshQualityGoal MeshRange MeshRefinementFunction MeshRegion MeshRegionQ MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageObject MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation MeteorShowerData Method MethodOptions MexicanHatWavelet MeyerWavelet Midpoint Min MinColorDistance MinDetect MineralData MinFilter MinimalBy MinimalPolynomial MinimalStateSpaceModel Minimize MinimumTimeIncrement MinIntervalSize MinkowskiQuestionMark MinLimit MinMax MinorPlanetData Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingBehavior MissingDataMethod MissingDataRules MissingQ MissingString MissingStyle MissingValuePattern MittagLefflerE MixedFractionParts MixedGraphQ MixedMagnitude MixedRadix MixedRadixQuantity MixedUnit MixtureDistribution Mod Modal Mode Modular ModularInverse ModularLambda Module Modulus MoebiusMu Molecule MoleculeContainsQ MoleculeEquivalentQ MoleculeGraph MoleculeModify MoleculePattern MoleculePlot MoleculePlot3D MoleculeProperty MoleculeQ MoleculeValue Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most MountainData MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovieData MovingAverage MovingMap MovingMedian MoyalDistribution Multicolumn MultiedgeStyle MultigraphQ MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity MultiplySides Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistributionN NakagamiDistribution NameQ Names NamespaceBox NamespaceBoxOptions Nand NArgMax NArgMin NBernoulliB NBodySimulation NBodySimulationData NCache NDEigensystem NDEigenvalues NDSolve NDSolveValue Nearest NearestFunction NearestNeighborGraph NearestTo NebulaData NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeDefiniteMatrixQ NegativeIntegers NegativeMultinomialDistribution NegativeRationals NegativeReals NegativeSemidefiniteMatrixQ NeighborhoodData NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestGraph NestList NestWhile NestWhileList NetAppend NetBidirectionalOperator NetChain NetDecoder NetDelete NetDrop NetEncoder NetEvaluationMode NetExtract NetFlatten NetFoldOperator NetGraph NetInformation NetInitialize NetInsert NetInsertSharedArrays NetJoin NetMapOperator NetMapThreadOperator NetMeasurements NetModel NetNestOperator NetPairEmbeddingOperator NetPort NetPortGradient NetPrepend NetRename NetReplace NetReplacePart NetSharedArray NetStateObject NetTake NetTrain NetTrainResultsObject NetworkPacketCapture NetworkPacketRecording NetworkPacketRecordingDuring NetworkPacketTrace NeumannValue NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextCell NextDate NextPrime NextScheduledTaskTime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NightHemisphere NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants NondimensionalizationTransform None NoneTrue NonlinearModelFit NonlinearStateSpaceModel NonlocalMeansFilter NonNegative NonNegativeIntegers NonNegativeRationals NonNegativeReals NonPositive NonPositiveIntegers NonPositiveRationals NonPositiveReals Nor NorlundB Norm Normal NormalDistribution NormalGrouping NormalizationLayer Normalize Normalized NormalizedSquaredEuclideanDistance NormalMatrixQ NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookImport NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookTemplate NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde Nothing NotHumpDownHump NotHumpEqual NotificationFunction NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar Now NoWhitespace NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms NuclearExplosionData NuclearReactorData Null NullRecords NullSpace NullWords Number NumberCompose NumberDecompose NumberExpand NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberLinePlot NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumeratorDenominator NumericalOrder NumericalSort NumericArray NumericArrayQ NumericArrayType NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlotO ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OceanData Octahedron OddQ Off Offset OLEData On ONanGroupON Once OneIdentity Opacity OpacityFunction OpacityFunctionScaling Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionalElement OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering OrderingBy OrderingLayer Orderless OrderlessPatternSequence OrnsteinUhlenbeckProcess Orthogonalize OrthogonalMatrixQ Out Outer OuterPolygon OuterPolyhedron OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OverwriteTarget OwenT OwnValuesPackage PackingMethod PaddedForm Padding PaddingLayer PaddingSize PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageTheme PageWidth Pagination PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath PalindromeQ Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallelepiped ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds Parallelogram ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParametricRegion ParentBox ParentCell ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParentNotebook ParetoDistribution ParetoPickandsDistribution ParkData Part PartBehavior PartialCorrelationFunction PartialD ParticleAcceleratorData ParticleData Partition PartitionGranularity PartitionsP PartitionsQ PartLayer PartOfSpeech PartProtection ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteAutoQuoteCharacters PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PeakDetect PeanoCurve PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PercentForm PerfectNumber PerfectNumberQ PerformanceGoal Perimeter PeriodicBoundaryCondition PeriodicInterpolation Periodogram PeriodogramArray Permanent Permissions PermissionsGroup PermissionsGroupMemberQ PermissionsGroups PermissionsKey PermissionsKeys PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PerpendicularBisector PersistenceLocation PersistenceTime PersistentObject PersistentObjects PersistentValue PersonData PERTDistribution PetersenGraph PhaseMargins PhaseRange PhysicalSystemData Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest PingTime Pink PitchRecognize Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarAngle PlanarGraph PlanarGraphQ PlanckRadiationLaw PlaneCurveData PlanetaryMoonData PlanetData PlantData Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLabels PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangeClipPlanesStyle PlotRangePadding PlotRegion PlotStyle PlotTheme Pluralize Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox Point3DBoxOptions PointBox PointBoxOptions PointFigureChart PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonalNumber PolygonAngle PolygonBox PolygonBoxOptions PolygonCoordinates PolygonDecomposition PolygonHoleScale PolygonIntersections PolygonScale Polyhedron PolyhedronAngle PolyhedronCoordinates PolyhedronData PolyhedronDecomposition PolyhedronGenus PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PoolingLayer PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position PositionIndex Positive PositiveDefiniteMatrixQ PositiveIntegers PositiveRationals PositiveReals PositiveSemidefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerRange PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Predict PredictionRoot PredictorFunction PredictorInformation PredictorMeasurements PredictorMeasurementsObject PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependLayer PrependTo PreprocessingRules PreserveColor PreserveImageOptions Previous PreviousCell PreviousDate PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitivePolynomialQ PrimitiveRoot PrimitiveRootList PrincipalComponents PrincipalValue Print PrintableASCIIQ PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment Printout3D Printout3DPreviewer PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateKey PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessConnection ProcessDirectory ProcessEnvironment Processes ProcessEstimator ProcessInformation ProcessObject ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessStatus ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm ProofObject Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse PsychrometricPropertyData PublicKey PublisherID PulsarData PunctuationCharacter Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptionsQBinomial QFactorial QGamma QHypergeometricPFQ QnDispersion QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ QuadraticOptimization Quantile QuantilePlot Quantity QuantityArray QuantityDistribution QuantityForm QuantityMagnitude QuantityQ QuantityUnit QuantityVariable QuantityVariableCanonicalUnit QuantityVariableDimensions QuantityVariableIdentifier QuantityVariablePhysicalQuantity Quartics QuartileDeviation Quartiles QuartileSkewness Query QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainderRadialGradientImage RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RadonTransform RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Ramp Random RandomChoice RandomColor RandomComplex RandomEntity RandomFunction RandomGeoPosition RandomGraph RandomImage RandomInstance RandomInteger RandomPermutation RandomPoint RandomPolygon RandomPolyhedron RandomPrime RandomReal RandomSample RandomSeed RandomSeeding RandomVariate RandomWalkProcess RandomWord Range RangeFilter RangeSpecification RankedMax RankedMin RarerProbability Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadByteArray ReadLine ReadList ReadProtected ReadString Real RealAbs RealBlockDiagonalForm RealDigits RealExponent Reals RealSign Reap RecognitionPrior RecognitionThreshold Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RectangularRepeatingElement RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate Region RegionBinarize RegionBoundary RegionBounds RegionCentroid RegionDifference RegionDimension RegionDisjoint RegionDistance RegionDistanceFunction RegionEmbeddingDimension RegionEqual RegionFunction RegionImage RegionIntersection RegionMeasure RegionMember RegionMemberFunction RegionMoment RegionNearest RegionNearestFunction RegionPlot RegionPlot3D RegionProduct RegionQ RegionResize RegionSize RegionSymmetricDifference RegionUnion RegionWithin RegisterExternalEvaluator RegularExpression Regularization RegularlySampledQ RegularPolygon ReIm ReImLabels ReImPlot ReImStyle Reinstall RelationalDatabase RelationGraph Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot RemoteAuthorizationCaching RemoteConnect RemoteConnectionObject RemoteFile RemoteRun RemoteRunProcess Remove RemoveAlphaChannel RemoveAsynchronousTask RemoveAudioStream RemoveBackground RemoveChannelListener RemoveChannelSubscribers Removed RemoveDiacritics RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RemoveUsers RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart RepairMesh Repeated RepeatedNull RepeatedString RepeatedTiming RepeatingElement Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated ReplicateLayer RequiredPhysicalQuantities Resampling ResamplingAlgorithmData ResamplingMethod Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask ReshapeLayer Residue ResizeLayer Resolve ResourceAcquire ResourceData ResourceFunction ResourceObject ResourceRegister ResourceRemove ResourceSearch ResourceSubmissionObject ResourceSubmit ResourceSystemBase ResourceUpdate ResponseForm Rest RestartInterval Restricted Resultant ResumePacket Return ReturnEntersInput ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnReceiptFunction ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseSort ReverseSortBy ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ RiemannXi Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightComposition RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity RollPitchYawAngles RollPitchYawMatrix RomanNumeral Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RSolveValue RudinShapiro RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulePlot RulerUnits Run RunProcess RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilaritySameQ SameTest SampledEntityClass SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SASTriangle SatelliteData SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveConnection SaveDefinitions SavitzkyGolayMatrix SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTask ScheduledTaskActiveQ ScheduledTaskInformation ScheduledTaskInformationData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScientificNotationThreshold ScorerGi ScorerGiPrime ScorerHi ScorerHiPrime ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptForm ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition SearchAdjustment SearchIndexObject SearchIndices SearchQueryString SearchResultObject Sec Sech SechDistribution SecondOrderConeOptimization SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SecuredAuthenticationKey SecuredAuthenticationKeys SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook SelectFirst Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemanticImport SemanticImportString SemanticInterpretation SemialgebraicComponentInstances SemidefiniteOptimization SendMail SendMessage Sequence SequenceAlignment SequenceAttentionLayer SequenceCases SequenceCount SequenceFold SequenceFoldList SequenceForm SequenceHold SequenceLastLayer SequenceMostLayer SequencePosition SequencePredict SequencePredictorFunction SequenceReplace SequenceRestLayer SequenceReverseLayer SequenceSplit Series SeriesCoefficient SeriesData ServiceConnect ServiceDisconnect ServiceExecute ServiceObject ServiceRequest ServiceResponse ServiceSubmit SessionSubmit SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetCloudDirectory SetCookies SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPermissions SetPrecision SetProperty SetSecuredAuthenticationKey SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemModel SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetUsers SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share SharingList Sharpen ShearingMatrix ShearingTransform ShellRegion ShenCastanMatrix ShiftedGompertzDistribution ShiftRegisterSequence Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortTimeFourier ShortTimeFourierData ShortUpArrow Show ShowAutoConvert ShowAutoSpellCheck ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowCodeAssist ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiderealTime SiegelTheta SiegelTukeyTest SierpinskiCurve SierpinskiMesh Sign Signature SignedRankTest SignedRegionDistance SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ SimplePolygonQ SimplePolyhedronQ Simplex Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution SkinStyle Skip SliceContourPlot3D SliceDensityPlot3D SliceDistribution SliceVectorPlot3D Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDecomposition SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SnDispersion Snippet SnubPolyhedron SocialMediaData Socket SocketConnect SocketListen SocketListener SocketObject SocketOpen SocketReadMessage SocketReadyQ Sockets SocketWaitAll SocketWaitNext SoftmaxLayer SokalSneathDissimilarity SolarEclipse SolarSystemFeatureData SolidAngle SolidData SolidRegionQ Solve SolveAlways SolveDelayed Sort SortBy SortedBy SortedEntityClass Sound SoundAndGraphics SoundNote SoundVolume SourceLink Sow Space SpaceCurveData SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution SpatialMedian SpatialTransformationLayer Speak SpeakTextPacket SpearmanRankTest SpearmanRho SpeciesData SpecificityGoal SpectralLineData Spectrogram SpectrogramArray Specularity SpeechRecognize SpeechSynthesize SpellingCorrection SpellingCorrectionList SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SpherePoints SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SphericalShell SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquareMatrixQ SquareRepeatingElement SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave SSSTriangle StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackedDateListPlot StackedListPlot StackInhibit StadiumShape StandardAtmosphereData StandardDeviation StandardDeviationFilter StandardForm Standardize Standardized StandardOceanData StandbyDistribution Star StarClusterData StarData StarGraph StartAsynchronousTask StartExternalSession StartingStepSize StartOfLine StartOfString StartProcess StartScheduledTask StartupSound StartWebSession StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StateTransformationLinearize StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StereochemistryElements StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StoppingPowerData StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamMarkers StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringContainsQ StringCount StringDelete StringDrop StringEndsQ StringExpression StringExtract StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPadLeft StringPadRight StringPart StringPartition StringPosition StringQ StringRepeat StringReplace StringReplaceList StringReplacePart StringReverse StringRiffle StringRotateLeft StringRotateRight StringSkeleton StringSplit StringStartsQ StringTake StringTemplate StringToByteArray StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleData StyleDefinitions StyleForm StyleHints StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subdivide Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subsequences Subset SubsetEqual SubsetMap SubsetQ Subsets SubStar SubstitutionSystem Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubtractSides SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde Success SuchThat Sum SumConvergence SummationLayer Sunday SunPosition Sunrise Sunset SuperDagger SuperMinus SupernovaData SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceArea SurfaceColor SurfaceData SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricKey SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Synonyms Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SynthesizeMissingValues SystemDialogInput SystemException SystemGet SystemHelpPath SystemInformation SystemInformationData SystemInstall SystemModel SystemModeler SystemModelExamples SystemModelLinearize SystemModelParametricSimulate SystemModelPlot SystemModelProgressReporting SystemModelReliability SystemModels SystemModelSimulate SystemModelSimulateSensitivity SystemModelSimulationData SystemOpen SystemOptions SystemProcessData SystemProcesses SystemsConnectionsModel SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelLinearity SystemsModelMerge SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemsModelVectorRelativeOrders SystemStub SystemTestTab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TableViewBoxBackground TableViewBoxOptions TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeDrop TakeLargest TakeLargestBy TakeList TakeSmallest TakeSmallestBy TakeWhile Tally Tan Tanh TargetDevice TargetFunctions TargetSystem TargetUnits TaskAbort TaskExecute TaskObject TaskRemove TaskResume Tasks TaskSuspend TaskWait TautologyQ TelegraphProcess TemplateApply TemplateArgBox TemplateBox TemplateBoxOptions TemplateEvaluate TemplateExpression TemplateIf TemplateObject TemplateSequence TemplateSlot TemplateSlotSequence TemplateUnevaluated TemplateVerbatim TemplateWith TemporalData TemporalRegularity Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge TestID TestReport TestReportObject TestResultObject Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCases TextCell TextClipboardType TextContents TextData TextElement TextForm TextGrid TextJustification TextLine TextPacket TextParagraph TextPosition TextRecognize TextSearch TextSearchReport TextSentences TextString TextStructure TextStyle TextTranslation Texture TextureCoordinateFunction TextureCoordinateScaling TextWords Therefore ThermodynamicData ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreadingLayer ThreeJSymbol Threshold Through Throw ThueMorse Thumbnail Thursday Ticks TicksStyle TideData Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint TimeDirection TimeFormat TimeGoal TimelinePlot TimeObject TimeObjectQ Times TimesBy TimeSeries TimeSeriesAggregate TimeSeriesForecast TimeSeriesInsert TimeSeriesInvertibility TimeSeriesMap TimeSeriesMapThread TimeSeriesModel TimeSeriesModelFit TimeSeriesResample TimeSeriesRescale TimeSeriesShift TimeSeriesThread TimeSeriesWindow TimeUsed TimeValue TimeWarpingCorrespondence TimeWarpingDistance TimeZone TimeZoneConvert TimeZoneOffset Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate Today ToDiscreteTimeModel ToEntity ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase Tomorrow ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform ToPolarCoordinates TopologicalSort ToRadicals ToRules ToSphericalCoordinates ToString Total TotalHeight TotalLayer TotalVariationFilter TotalWidth TouchPosition TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TrackingFunction TracyWidomDistribution TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TrainingProgressCheckpointing TrainingProgressFunction TrainingProgressMeasurements TrainingProgressReporting TrainingStoppingCriterion TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationClass TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField TransformedProcess TransformedRegion TransitionDirection TransitionDuration TransitionEffect TransitiveClosureGraph TransitiveReductionGraph Translate TranslationOptions TranslationTransform Transliterate Transparent TransparentColor Transpose TransposeLayer TrapSelection TravelDirections TravelDirectionsData TravelDistance TravelDistanceList TravelMethod TravelTime TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle Triangle TriangleCenter TriangleConstruct TriangleMeasurement TriangleWave TriangularDistribution TriangulateMesh Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean TrimmedVariance TropicalStormData True TrueQ TruncatedDistribution TruncatedPolyhedron TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBoxOptions TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow TunnelData Tuples TuranGraph TuringMachine TuttePolynomial TwoWayRule Typed TypeSpecifierUnateQ Uncompress UnconstrainedParameters Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UnderseaFeatureData UndirectedEdge UndirectedGraph UndirectedGraphQ UndoOptions UndoTrackedVariables Unequal UnequalTo Unevaluated UniformDistribution UniformGraphDistribution UniformPolyhedron UniformSumDistribution Uninstall Union UnionPlus Unique UnitaryMatrixQ UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitSystem UnitTriangle UnitVector UnitVectorLayer UnityDimensions UniverseModelData UniversityData UnixTime Unprotect UnregisterExternalEvaluator UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpdateSearchIndex UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize UpperTriangularMatrixQ Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpTo UpValues URL URLBuild URLDecode URLDispatcher URLDownload URLDownloadSubmit URLEncode URLExecute URLExpand URLFetch URLFetchAsynchronous URLParse URLQueryDecode URLQueryEncode URLRead URLResponseTime URLSave URLSaveAsynchronous URLShorten URLSubmit UseGraphicsRange UserDefinedWavelet Using UsingFrontEnd UtilityFunctionV2Get ValenceErrorHandling ValidationLength ValidationSet Value ValueBox ValueBoxOptions ValueDimensions ValueForm ValuePreprocessingFunction ValueQ Values ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorAround VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorGreater VectorGreaterEqual VectorLess VectorLessEqual VectorMarkers VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerificationTest VerifyConvergence VerifyDerivedKey VerifyDigitalSignature VerifyInterpretation VerifySecurityCertificates VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexContract VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight VertexWeightedGraphQ Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewProjection ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoiceStyleData VoigtDistribution VolcanoData Volume VonMisesDistribution VoronoiMeshWaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WarpingCorrespondence WarpingDistance WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeatherForecastData WebAudioSearch WebElementObject WeberE WebExecute WebImage WebImageSearch WebSearch WebSessionObject WebSessions WebWindowObject Wedge Wednesday WeibullDistribution WeierstrassE1 WeierstrassE2 WeierstrassE3 WeierstrassEta1 WeierstrassEta2 WeierstrassEta3 WeierstrassHalfPeriods WeierstrassHalfPeriodW1 WeierstrassHalfPeriodW2 WeierstrassHalfPeriodW3 WeierstrassInvariantG2 WeierstrassInvariantG3 WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White WhiteNoiseProcess WhitePoint Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WikipediaData WikipediaSearch WilksW WilksWTest WindDirectionData WindingCount WindingPolygon WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowPersistentStyles WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth WindSpeedData WindVectorData WinsorizedMean WinsorizedVariance WishartMatrixDistribution With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult WolframLanguageData Word WordBoundary WordCharacter WordCloud WordCount WordCounts WordData WordDefinition WordFrequency WordFrequencyData WordList WordOrientation WordSearch WordSelectionFunction WordSeparators WordSpacings WordStem WordTranslation WorkingPrecision WrapAround Write WriteLine WriteString WronskianXMLElement XMLObject XMLTemplate Xnor Xor XYZColorYellow Yesterday YuleDissimilarityZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZIPCodeData ZipfDistribution ZoomCenter ZoomFactor ZTest ZTransform$Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AllowExternalChannelFunctions $AssertFunction $Assumptions $AsynchronousTask $AudioInputDevices $AudioOutputDevices $BaseDirectory $BatchInput $BatchOutput $BlockchainBase $BoxForms $ByteOrdering $CacheBaseDirectory $Canceled $ChannelBase $CharacterEncoding $CharacterEncodings $CloudBase $CloudConnected $CloudCreditsAvailable $CloudEvaluation $CloudExpressionBase $CloudObjectNameFormat $CloudObjectURLType $CloudRootDirectory $CloudSymbolBase $CloudUserID $CloudUserUUID $CloudVersion $CloudVersionNumber $CloudWolframEngineVersionNumber $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $Cookies $CookieStore $CreationDate $CurrentLink $CurrentTask $CurrentWebSession $DateStringFormat $DefaultAudioInputDevice $DefaultAudioOutputDevice $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultLocalBase $DefaultMailbox $DefaultNetworkInterface $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $EmbedCodeEnvironments $EmbeddableServices $EntityStores $Epilog $EvaluationCloudBase $EvaluationCloudObject $EvaluationEnvironment $ExportFormats $Failed $FinancialDataSource $FontFamilies $FormatType $FrontEnd $FrontEndSession $GeoEntityTypes $GeoLocation $GeoLocationCity $GeoLocationCountry $GeoLocationPrecision $GeoLocationSource $HistoryLength $HomeDirectory $HTMLExportRules $HTTPCookies $HTTPRequest $IgnoreEOF $ImageFormattingWidth $ImagingDevice $ImagingDevices $ImportFormats $IncomingMailSettings $InitialDirectory $Initialization $InitializationContexts $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $InterpreterTypes $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $LocalBase $LocalSymbolBase $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $MobilePhone $ModuleNumber $NetworkConnected $NetworkInterfaces $NetworkLicense $NewMessage $NewSymbol $Notebooks $NoValue $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $Permissions $PermissionsGroupBase $PersistenceBase $PersistencePath $PipeSupported $PlotTheme $Post $Pre $PreferencesDirectory $PreInitialization $PrePrint $PreRead $PrintForms $PrintLiteral $Printout3DPreviewer $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $PublisherID $RandomState $RecursionLimit $RegisteredDeviceClasses $RegisteredUserName $ReleaseNumber $RequesterAddress $RequesterWolframID $RequesterWolframUUID $ResourceSystemBase $RootDirectory $ScheduledTask $ScriptCommandLine $ScriptInputString $SecuredAuthenticationKeyTokens $ServiceCreditsAvailable $Services $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SourceLink $SSHAuthentication $SummaryBoxDataSizeLimit $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemMemory $SystemShell $SystemTimeZone $SystemWordLength $TemplatePath $TemporaryDirectory $TemporaryPrefix $TestFileName $TextStyle $TimedOut $TimeUnit $TimeZone $TimeZoneEntity $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $UnitSystem $Urgent $UserAddOnsDirectory $UserAgentLanguages $UserAgentMachine $UserAgentName $UserAgentOperatingSystem $UserAgentString $UserAgentVersion $UserBaseDirectory $UserDocumentsDirectory $Username $UserName $UserURLBase $Version $VersionNumber $VoiceStyles $WolframID $WolframUUID\",c:[e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\"]}),e.QSM,e.CNM]}});hljs.registerLanguage(\"vim\",function(e){return{l:/[!#@\\w]+/,k:{keyword:\"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank\",built_in:\"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp\"},i:/;/,c:[e.NM,{cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\"},{cN:\"string\",b:/\"(\\\\\"|\\n\\\\|[^\"\\n])*\"/},e.C('\"',\"$\"),{cN:\"variable\",b:/[bwtglsav]:[\\w\\d_]*/},{cN:\"function\",bK:\"function function!\",e:\"$\",relevance:0,c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"}]},{cN:\"symbol\",b:/<[\\w-]+>/}]}});hljs.registerLanguage(\"makefile\",function(e){var i={cN:\"variable\",v:[{b:\"\\\\$\\\\(\"+e.UIR+\"\\\\)\",c:[e.BE]},{b:/\\$[@%<?\\^\\+\\*]/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,i]},a={cN:\"variable\",b:/\\$\\([\\w-]+\\s/,e:/\\)/,k:{built_in:\"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value\"},c:[i]},n={b:\"^\"+e.UIR+\"\\\\s*(?=[:+?]?=)\"},t={cN:\"section\",b:/^[^\\s]+:/,e:/$/,c:[i]};return{aliases:[\"mk\",\"mak\"],k:\"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath\",l:/[\\w-]+/,c:[e.HCM,i,r,a,n,{cN:\"meta\",b:/^\\.PHONY:/,e:/$/,k:{\"meta-keyword\":\".PHONY\"},l:/[\\.\\w]+/},t]}});hljs.registerLanguage(\"objectivec\",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,i=\"@interface @class @protocol @implementation\";return{aliases:[\"mm\",\"objc\",\"obj-c\"],k:{keyword:\"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN\",literal:\"false true FALSE TRUE nil YES NO NULL\",built_in:\"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once\"},l:t,i:\"</\",c:[{cN:\"built_in\",b:\"\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+\"},e.CLCM,e.CBCM,e.CNM,e.QSM,e.ASM,{cN:\"string\",v:[{b:'@\"',e:'\"',i:\"\\\\n\",c:[e.BE]}]},{cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,relevance:0},e.inherit(e.QSM,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<.*?>/,e:/$/,i:\"\\\\n\"},e.CLCM,e.CBCM]},{cN:\"class\",b:\"(\"+i.split(\" \").join(\"|\")+\")\\\\b\",e:\"({|$)\",eE:!0,k:i,l:t,c:[e.UTM]},{b:\"\\\\.\"+e.UIR,relevance:0}]}});hljs.registerLanguage(\"shell\",function(s){return{aliases:[\"console\"],c:[{cN:\"meta\",b:\"^\\\\s{0,3}[/\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]\",starts:{e:\"$\",sL:\"bash\"}}]}});hljs.registerLanguage(\"erlang\",function(e){var r=\"[a-z'][a-zA-Z0-9_']*\",c=\"(\"+r+\":\"+r+\"|\"+r+\")\",n={keyword:\"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor\",literal:\"false true\"},a=e.C(\"%\",\"$\"),b={cN:\"number\",b:\"\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)\",relevance:0},i={b:\"fun\\\\s+\"+r+\"/\\\\d+\"},l={b:c+\"\\\\(\",e:\"\\\\)\",rB:!0,relevance:0,c:[{b:c,relevance:0},{b:\"\\\\(\",e:\"\\\\)\",eW:!0,rE:!0,relevance:0}]},d={b:\"{\",e:\"}\",relevance:0},o={b:\"\\\\b_([A-Z][A-Za-z0-9_]*)?\",relevance:0},t={b:\"[A-Z][a-zA-Z0-9_]*\",relevance:0},v={b:\"#\"+e.UIR,relevance:0,rB:!0,c:[{b:\"#\"+e.UIR,relevance:0},{b:\"{\",e:\"}\",relevance:0}]},f={bK:\"fun receive if try case\",e:\"end\",k:n};f.c=[a,i,e.inherit(e.ASM,{cN:\"\"}),f,l,e.QSM,b,d,o,t,v];var s=[a,i,f,l,e.QSM,b,d,o,t,v];l.c[1].c=s,d.c=s;var u={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:v.c[1].c=s};return{aliases:[\"erl\"],k:n,i:\"(</|\\\\*=|\\\\+=|-=|/\\\\*|\\\\*/|\\\\(\\\\*|\\\\*\\\\))\",c:[{cN:\"function\",b:\"^\"+r+\"\\\\s*\\\\(\",e:\"->\",rB:!0,i:\"\\\\(|#|//|/\\\\*|\\\\\\\\|:|;\",c:[u,e.inherit(e.TM,{b:r})],starts:{e:\";|\\\\.\",k:n,c:s}},a,{b:\"^-\",e:\"\\\\.\",relevance:0,eE:!0,rB:!0,l:\"-\"+e.IR,k:\"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec\",c:[u]},b,e.QSM,v,o,t,d,{b:/\\.$/}]}});hljs.registerLanguage(\"powershell\",function(e){var t={keyword:\"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter\"},n={b:\"`[\\\\s\\\\S]\",relevance:0},c={cN:\"variable\",v:[{b:/\\$\\B/},{cN:\"keyword\",b:/\\$this/},{b:/\\$[\\w\\d][\\w\\d_:]*/}]},i={cN:\"string\",v:[{b:/\"/,e:/\"/},{b:/@\"/,e:/^\"@/}],c:[n,c,{cN:\"variable\",b:/\\$[A-z]/,e:/[^A-z]/}]},a={cN:\"string\",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},r=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[{cN:\"doctag\",v:[{b:/\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/}]}]}),o={cN:\"built_in\",v:[{b:\"(\".concat(\"Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|New|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Complete|Confirm|Deny|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where\",\")+(-)[\\\\w\\\\d]+\")}]},l={cN:\"class\",bK:\"class enum\",e:/\\s*[{]/,eE:!0,relevance:0,c:[e.TM]},s={cN:\"function\",b:/function\\s+/,e:/\\s*\\{|$/,eE:!0,rB:!0,relevance:0,c:[{b:\"function\",relevance:0,cN:\"keyword\"},{cN:\"title\",b:/\\w[\\w\\d]*((-)[\\w\\d]+)*/,relevance:0},{b:/\\(/,e:/\\)/,cN:\"params\",relevance:0,c:[c]}]},p={b:/using\\s/,e:/$/,rB:!0,c:[i,a,{cN:\"keyword\",b:/(using|assembly|command|module|namespace|type)/}]},b={v:[{cN:\"operator\",b:\"(\".concat(\"-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor\",\")\\\\b\")},{cN:\"literal\",b:/(-)[\\w\\d]+/,relevance:0}]},d={cN:\"function\",b:/\\[.*\\]\\s*[\\w]+[ ]??\\(/,e:/$/,rB:!0,relevance:0,c:[{cN:\"keyword\",b:\"(\".concat(t.keyword.toString().replace(/\\s/g,\"|\"),\")\\\\b\"),endsParent:!0,relevance:0},e.inherit(e.TM,{endsParent:!0})]},u=[d,r,n,e.NM,i,a,o,c,{cN:\"literal\",b:/\\$(null|true|false)\\b/},{cN:\"selector-tag\",b:/\\@\\B/,relevance:0}],m={b:/\\[/,e:/\\]/,eB:!0,eE:!0,relevance:0,c:[].concat(\"self\",u,{b:\"(\"+[\"string\",\"char\",\"byte\",\"int\",\"long\",\"bool\",\"decimal\",\"single\",\"double\",\"DateTime\",\"xml\",\"array\",\"hashtable\",\"void\"].join(\"|\")+\")\",cN:\"built_in\",relevance:0},{cN:\"type\",b:/[\\.\\w\\d]+/,relevance:0})};return d.c.unshift(m),{aliases:[\"ps\",\"ps1\"],l:/-?[A-z\\.\\-]+/,cI:!0,k:t,c:u.concat(l,s,p,b,m)}});hljs.registerLanguage(\"typescript\",function(e){var r=\"[A-Za-z$_][0-9A-Za-z$_]*\",t={keyword:\"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise\"},n={cN:\"meta\",b:\"@\"+r},a={b:\"\\\\(\",e:/\\)/,k:t,c:[\"self\",e.QSM,e.ASM,e.NM]},c={cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM,n,a]},s={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)n?\"},{b:\"\\\\b(0[oO][0-7]+)n?\"},{b:e.CNR+\"n?\"}],relevance:0},o={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:t,c:[]},i={b:\"html`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,o],sL:\"xml\"}},l={b:\"css`\",e:\"\",starts:{e:\"`\",rE:!1,c:[e.BE,o],sL:\"css\"}},b={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,o]};return o.c=[e.ASM,e.QSM,i,l,b,s,e.RM],{aliases:[\"ts\"],k:t,c:[{cN:\"meta\",b:/^\\s*['\"]use strict['\"]/},e.ASM,e.QSM,i,l,b,e.CLCM,e.CBCM,s,{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+e.IR+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:e.IR},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[\"self\",e.CLCM,e.CBCM]}]}]}],relevance:0},{cN:\"function\",bK:\"function\",e:/[\\{;]/,eE:!0,k:t,c:[\"self\",e.inherit(e.TM,{b:r}),c],i:/%/,relevance:0},{bK:\"constructor\",e:/[\\{;]/,eE:!0,c:[\"self\",c]},{b:/module\\./,k:{built_in:\"module\"},relevance:0},{bK:\"module\",e:/\\{/,eE:!0},{bK:\"interface\",e:/\\{/,eE:!0,k:\"interface extends\"},{b:/\\$[(.]/},{b:\"\\\\.\"+e.IR,relevance:0},n,a]}});hljs.registerLanguage(\"fortran\",function(e){return{cI:!0,aliases:[\"f90\",\"f95\"],k:{literal:\".False. .True.\",keyword:\"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data\",built_in:\"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image\"},i:/\\/\\*/,c:[e.inherit(e.ASM,{cN:\"string\",relevance:0}),e.inherit(e.QSM,{cN:\"string\",relevance:0}),{cN:\"function\",bK:\"subroutine function program\",i:\"[${=\\\\n]\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"}]},e.C(\"!\",\"$\",{relevance:0}),{cN:\"number\",b:\"(?=\\\\b|\\\\+|\\\\-|\\\\.)(?=\\\\.\\\\d|\\\\d)(?:\\\\d+)?(?:\\\\.?\\\\d*)(?:[de][+-]?\\\\d+)?\\\\b\\\\.?\",relevance:0}]}});hljs.registerLanguage(\"php\",function(e){var c={b:\"\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*\"},i={cN:\"meta\",b:/<\\?(php)?|\\?>/},t={cN:\"string\",c:[e.BE,i],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:[\"php\",\"php3\",\"php4\",\"php5\",\"php6\",\"php7\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally\",c:[e.HCM,e.C(\"//\",\"$\",{c:[i]}),e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:\"subst\",v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},i,{cN:\"keyword\",b:/\\$this\\b/},c,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",c,e.CBCM,t,a]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},t,a]}});hljs.registerLanguage(\"haskell\",function(e){var i={v:[e.C(\"--\",\"$\"),e.C(\"{-\",\"-}\",{c:[\"self\"]})]},a={cN:\"meta\",b:\"{-#\",e:\"#-}\"},l={cN:\"meta\",b:\"^#\",e:\"$\"},c={cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",relevance:0},n={b:\"\\\\(\",e:\"\\\\)\",i:'\"',c:[a,l,{cN:\"type\",b:\"\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?\"},e.inherit(e.TM,{b:\"[_a-z][\\\\w']*\"}),i]};return{aliases:[\"hs\"],k:\"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec\",c:[{bK:\"module\",e:\"where\",k:\"module where\",c:[n,i],i:\"\\\\W\\\\.|;\"},{b:\"\\\\bimport\\\\b\",e:\"$\",k:\"import qualified as hiding\",c:[n,i],i:\"\\\\W\\\\.|;\"},{cN:\"class\",b:\"^(\\\\s*)?(class|instance)\\\\b\",e:\"where\",k:\"class family instance where\",c:[c,n,i]},{cN:\"class\",b:\"\\\\b(data|(new)?type)\\\\b\",e:\"$\",k:\"data family type newtype deriving\",c:[a,c,n,{b:\"{\",e:\"}\",c:n.c},i]},{bK:\"default\",e:\"$\",c:[c,n,i]},{bK:\"infix infixl infixr\",e:\"$\",c:[e.CNM,i]},{b:\"\\\\bforeign\\\\b\",e:\"$\",k:\"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe\",c:[c,e.QSM,i]},{cN:\"meta\",b:\"#!\\\\/usr\\\\/bin\\\\/env runhaskell\",e:\"$\"},a,l,e.QSM,e.CNM,c,e.inherit(e.TM,{b:\"^[_a-z][\\\\w']*\"}),i,{b:\"->|<-\"}]}});hljs.registerLanguage(\"coffeescript\",function(e){var c={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not\",literal:\"true false null undefined yes no on off\",built_in:\"npm require console print module global window document\"},n=\"[A-Za-z$_][0-9A-Za-z$_]*\",r={cN:\"subst\",b:/#\\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",relevance:0}}),{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,r]},{b:/\"/,e:/\"/,c:[e.BE,r]}]},{cN:\"regexp\",v:[{b:\"///\",e:\"///\",c:[r,e.HCM]},{b:\"//[gim]{0,3}(?=\\\\W)\",relevance:0},{b:/\\/(?![ *]).*?(?![\\\\]).\\/[gim]{0,3}(?=\\W)/}]},{b:\"@\"+n},{sL:\"javascript\",eB:!0,eE:!0,v:[{b:\"```\",e:\"```\"},{b:\"`\",e:\"`\"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",a={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:c,c:[\"self\"].concat(i)}]};return{aliases:[\"coffee\",\"cson\",\"iced\"],k:c,i:/\\/\\*/,c:i.concat([e.C(\"###\",\"###\"),e.HCM,{cN:\"function\",b:\"^\\\\s*\"+n+\"\\\\s*=\\\\s*\"+t,e:\"[-=]>\",rB:!0,c:[s,a]},{b:/[:\\(,=]\\s*/,relevance:0,c:[{cN:\"function\",b:t,e:\"[-=]>\",rB:!0,c:[a]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[s]},s]},{b:n+\":\",e:\":\",rB:!0,rE:!0,relevance:0}])}});hljs.registerLanguage(\"r\",function(e){var r=\"([a-zA-Z]|\\\\.[a-zA-Z.])[a-zA-Z0-9._]*\";return{c:[e.HCM,{b:r,l:r,k:{keyword:\"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...\",literal:\"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10\"},relevance:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",relevance:0},{cN:\"number\",b:\"\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b\",relevance:0},{cN:\"number\",b:\"\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?\",relevance:0},{cN:\"number\",b:\"\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",relevance:0},{cN:\"number\",b:\"\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",relevance:0},{b:\"`\",e:\"`\",relevance:0},{cN:\"string\",c:[e.BE],v:[{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]}]}});hljs.registerLanguage(\"autohotkey\",function(e){var a={b:\"`[\\\\s\\\\S]\"};return{cI:!0,aliases:[\"ahk\"],k:{keyword:\"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group\",literal:\"true false NOT AND OR\",built_in:\"ComSpec Clipboard ClipboardAll ErrorLevel\"},c:[a,e.inherit(e.QSM,{c:[a]}),e.C(\";\",\"$\",{relevance:0}),e.CBCM,{cN:\"number\",b:e.NR,relevance:0},{cN:\"variable\",b:\"%[a-zA-Z0-9#_$@]+%\"},{cN:\"built_in\",b:\"^\\\\s*\\\\w+\\\\s*(,|%)\"},{cN:\"title\",v:[{b:'^[^\\\\n\";]+::(?!=)'},{b:'^[^\\\\n\";]+:(?!=)',relevance:0}]},{cN:\"meta\",b:\"^\\\\s*#\\\\w+\",e:\"$\",relevance:0},{cN:\"built_in\",b:\"A_[a-zA-Z0-9]+\"},{b:\",\\\\s*,\"}]}});hljs.registerLanguage(\"elixir\",function(e){var b=\"[a-zA-Z_][a-zA-Z0-9_.]*(\\\\!|\\\\?)?\",c=\"and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote require import with|0\",n={cN:\"subst\",b:\"#\\\\{\",e:\"}\",l:b,k:c},r=\"[/|([{<\\\"']\",a={cN:\"string\",b:\"~[a-z](?=\"+r+\")\",c:[{endsParent:!0,c:[{c:[e.BE,n],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/\\//,e:/\\//},{b:/\\|/,e:/\\|/},{b:/\\(/,e:/\\)/},{b:/\\[/,e:/\\]/},{b:/\\{/,e:/\\}/},{b:/</,e:/>/}]}]}]},i={cN:\"string\",b:\"~[A-Z](?=\"+r+\")\",c:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/\\//,e:/\\//},{b:/\\|/,e:/\\|/},{b:/\\(/,e:/\\)/},{b:/\\[/,e:/\\]/},{b:/\\{/,e:/\\}/},{b:/\\</,e:/\\>/}]},l={cN:\"string\",c:[e.BE,n],v:[{b:/\"\"\"/,e:/\"\"\"/},{b:/'''/,e:/'''/},{b:/~S\"\"\"/,e:/\"\"\"/,c:[]},{b:/~S\"/,e:/\"/,c:[]},{b:/~S'''/,e:/'''/,c:[]},{b:/~S'/,e:/'/,c:[]},{b:/'/,e:/'/},{b:/\"/,e:/\"/}]},s={cN:\"function\",bK:\"def defp defmacro\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:b,endsParent:!0})]},t=e.inherit(s,{cN:\"class\",bK:\"defimpl defmodule defprotocol defrecord\",e:/\\bdo\\b|$|;/}),d=[l,i,a,e.HCM,t,s,{b:\"::\"},{cN:\"symbol\",b:\":(?![\\\\s:])\",c:[l,{b:\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\"}],relevance:0},{cN:\"symbol\",b:b+\":(?!:)\",relevance:0},{cN:\"number\",b:\"(\\\\b0o[0-7_]+)|(\\\\b0b[01_]+)|(\\\\b0x[0-9a-fA-F_]+)|(-?\\\\b[1-9][0-9_]*(.[0-9_]+([eE][-+]?[0-9]+)?)?)\",relevance:0},{cN:\"variable\",b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{b:\"->\"},{b:\"(\"+e.RSR+\")\\\\s*\",c:[e.HCM,{cN:\"regexp\",i:\"\\\\n\",c:[e.BE,n],v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}],relevance:0}];return{l:b,k:c,c:n.c=d}});hljs.registerLanguage(\"gradle\",function(e){return{cI:!0,k:{keyword:\"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}});hljs.registerLanguage(\"css\",function(e){var c={b:/(?:[A-Z\\_\\.\\-]+|--[a-zA-Z0-9_-]+)\\s*:/,rB:!0,e:\";\",eW:!0,c:[{cN:\"attribute\",b:/\\S/,e:\":\",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\\w-]+\\(/,rB:!0,c:[{cN:\"built_in\",b:/[\\w-]+/},{b:/\\(/,e:/\\)/,c:[e.ASM,e.QSM,e.CSSNM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"number\",b:\"#[0-9A-Fa-f]+\"},{cN:\"meta\",b:\"!important\"}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,{cN:\"selector-id\",b:/#[A-Za-z0-9_-]+/},{cN:\"selector-class\",b:/\\.[A-Za-z0-9_-]+/},{cN:\"selector-attr\",b:/\\[/,e:/\\]/,i:\"$\",c:[e.ASM,e.QSM]},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"@(page|font-face)\",l:\"@[a-z-]+\",k:\"@page @font-face\"},{b:\"@\",e:\"[{;]\",i:/:/,rB:!0,c:[{cN:\"keyword\",b:/@\\-?\\w[\\w]*(\\-\\w+)*/},{b:/\\s/,eW:!0,eE:!0,relevance:0,k:\"and or not only\",c:[{b:/[a-z-]+:/,cN:\"attribute\"},e.ASM,e.QSM,e.CSSNM]}]},{cN:\"selector-tag\",b:\"[a-zA-Z-][a-zA-Z0-9_-]*\",relevance:0},{b:\"{\",e:\"}\",i:/\\S/,c:[e.CBCM,c]}]}});\n\nexports.hljs = hljs;\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/highlight/highlight.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/highlight/highlight.css": {
"text": "/*\n\nOriginal highlight.js style (c) Ivan Sagalaev <maniac@softwaremaniacs.org>\n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: #F0F0F0;\n}\n\n\n/* Base color: saturation 0; */\n\n.hljs,\n.hljs-subst {\n color: #444;\n}\n\n.hljs-comment {\n color: #888888;\n}\n\n.hljs-keyword,\n.hljs-attribute,\n.hljs-selector-tag,\n.hljs-meta-keyword,\n.hljs-doctag,\n.hljs-name {\n font-weight: bold;\n}\n\n\n/* User color: hue: 0 */\n\n.hljs-type,\n.hljs-string,\n.hljs-number,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-quote,\n.hljs-template-tag,\n.hljs-deletion {\n color: #880000;\n}\n\n.hljs-title,\n.hljs-section {\n color: #880000;\n font-weight: bold;\n}\n\n.hljs-regexp,\n.hljs-symbol,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-link,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #BC6060;\n}\n\n\n/* Language color: hue: 90; */\n\n.hljs-literal {\n color: #78A960;\n}\n\n.hljs-built_in,\n.hljs-bullet,\n.hljs-code,\n.hljs-addition {\n color: #397300;\n}\n\n\n/* Meta color: hue: 200 */\n\n.hljs-meta {\n color: #1f7199;\n}\n\n.hljs-meta-string {\n color: #4d99bf;\n}\n\n\n/* Misc effects */\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.hljs-strong {\n font-weight: bold;\n}\n",
"type": "text/css",
"title": "$:/plugins/tiddlywiki/highlight/highlight.css",
"tags": "[[$:/tags/Stylesheet]]"
},
"$:/plugins/tiddlywiki/highlight/highlightblock.js": {
"title": "$:/plugins/tiddlywiki/highlight/highlightblock.js",
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/highlight/highlightblock.js\ntype: application/javascript\nmodule-type: widget\n\nWraps up the fenced code blocks parser for highlight and use in TiddlyWiki5\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TYPE_MAPPINGS_BASE = \"$:/config/HighlightPlugin/TypeMappings/\";\n\nvar CodeBlockWidget = require(\"$:/core/modules/widgets/codeblock.js\").codeblock;\n\nvar hljs = require(\"$:/plugins/tiddlywiki/highlight/highlight.js\");\n\nhljs.configure({tabReplace: \" \"});\t\n\nCodeBlockWidget.prototype.postRender = function() {\n\tvar domNode = this.domNodes[0],\n\t\tlanguage = this.language,\n\t\ttiddler = this.wiki.getTiddler(TYPE_MAPPINGS_BASE + language);\n\tif(tiddler) {\n\t\tlanguage = tiddler.fields.text || \"\";\n\t}\n\tif(language && hljs.getLanguage(language)) {\n\t\tdomNode.className = language.toLowerCase() + \" hljs\";\n\t\tif($tw.browser && !domNode.isTiddlyWikiFakeDom) {\n\t\t\thljs.highlightBlock(domNode);\t\t\t\n\t\t} else {\n\t\t\tvar text = domNode.textContent;\n\t\t\tdomNode.children[0].innerHTML = hljs.fixMarkup(hljs.highlight(language,text).value);\n\t\t\t// If we're using the fakedom then specially save the original raw text\n\t\t\tif(domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tdomNode.children[0].textInnerHTML = text;\n\t\t\t}\n\t\t}\n\t}\t\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tiddlywiki/highlight/howto": {
"title": "$:/plugins/tiddlywiki/highlight/howto",
"text": "! Supporting Additional Languages\n \nThe [[highlight.js|https://github.com/highlightjs/highlight.js]] project supports many languages. Only a subset of these languages are supported by the plugin. It is possible for users to change the set of languages supported by the plugin by following these steps:\n \n# Go to the highlight.js project [[download page|https://highlightjs.org/download/]], select the language definitions to include, and press the Download button to download a zip archive containing customised support files for a highlight.js syntax highlighting server.\n# Locate the `highlight.pack.js` file in the highlight plugin -- on a stock Debian 8 system running Tiddlywiki5 under node-js it is located at `/usr/local/lib/node_modules/tiddlywiki/plugins/tiddlywiki/highlight/files/highlight.pack.js`.\n# Replace the plugin `highlight.pack.js` file located in step 2 with the one from the downloaded archive obtained in step 1.\n# Restart the Tiddlywiki server.\n"
},
"$:/plugins/tiddlywiki/highlight/license": {
"title": "$:/plugins/tiddlywiki/highlight/license",
"type": "text/plain",
"text": "Copyright (c) 2006, Ivan Sagalaev\nAll rights reserved.\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n * Neither the name of highlight.js nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
},
"$:/plugins/tiddlywiki/highlight/readme": {
"title": "$:/plugins/tiddlywiki/highlight/readme",
"text": "This plugin provides syntax highlighting of code blocks using v9.18.1 of [[highlight.js|https://github.com/isagalaev/highlight.js]] from Ivan Sagalaev.\n\n! Usage\n\nWhen the plugin is installed it automatically applies highlighting to all codeblocks defined with triple backticks or with the CodeBlockWidget.\n\nThe language can optionally be specified after the opening triple braces:\n\n<$codeblock code=\"\"\"```css\n * { margin: 0; padding: 0; } /* micro reset */\n\nhtml { font-size: 62.5%; }\nbody { font-size: 14px; font-size: 1.4rem; } /* =14px */\nh1 { font-size: 24px; font-size: 2.4rem; } /* =24px */\n```\"\"\"/>\n\nIf no language is specified highlight.js will attempt to automatically detect the language.\n\n! Built-in Language Brushes\n\nThe plugin includes support for the following languages (referred to as \"brushes\" by highlight.js):\n\n* apache\n* arduino\n* arm assembly\n* asciidoc\n* autohotkey\n* awk\n* bash\n* cmake\n* coffeescript\n* cpp\n* cs\n* css\n* diff\n* dockerfile\n* erlang\n* elixir\n* fortran\n* go\n* gradle\n* haskell\n* html\n* http\n* ini\n* intel x86 assembly\n* java\n* javascript\n* json\n* kotlin\n* less\n* lua\n* makefile\n* markdown\n* mathematica\n* matlab\n* nginx\n* objectivec\n* perl\n* php\n* plaintext\n* powershell\n* properties\n* python\n* R\n* ruby\n* rust\n* scss\n* shell session\n* sql\n* swift\n* toml\n* typescript\n* vala\n* vim script\n* xml\n* yaml\n\nYou can also specify the language as a MIME content type (eg `text/html` or `text/css`). The mapping is accomplished via mapping tiddlers whose titles start with `$:/config/HighlightPlugin/TypeMappings/`.\n"
},
"$:/plugins/tiddlywiki/highlight/styles": {
"title": "$:/plugins/tiddlywiki/highlight/styles",
"tags": "[[$:/tags/Stylesheet]]",
"text": ".hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8;-webkit-text-size-adjust:none}.hljs-comment,.diff .hljs-header,.hljs-javadoc{color:#998;font-style:italic}.hljs-keyword,.css .rule .hljs-keyword,.hljs-winutils,.nginx .hljs-title,.hljs-subst,.hljs-request,.hljs-status{color:#333;font-weight:bold}.hljs-number,.hljs-hexcolor,.ruby .hljs-constant{color:teal}.hljs-string,.hljs-tag .hljs-value,.hljs-phpdoc,.hljs-dartdoc,.tex .hljs-formula{color:#d14}.hljs-title,.hljs-id,.scss .hljs-preprocessor{color:#900;font-weight:bold}.hljs-list .hljs-keyword,.hljs-subst{font-weight:normal}.hljs-class .hljs-title,.hljs-type,.vhdl .hljs-literal,.tex .hljs-command{color:#458;font-weight:bold}.hljs-tag,.hljs-tag .hljs-title,.hljs-rule .hljs-property,.django .hljs-tag .hljs-keyword{color:navy;font-weight:normal}.hljs-attribute,.hljs-variable,.lisp .hljs-body,.hljs-name{color:teal}.hljs-regexp{color:#009926}.hljs-symbol,.ruby .hljs-symbol .hljs-string,.lisp .hljs-keyword,.clojure .hljs-keyword,.scheme .hljs-keyword,.tex .hljs-special,.hljs-prompt{color:#990073}.hljs-built_in{color:#0086b3}.hljs-preprocessor,.hljs-pragma,.hljs-pi,.hljs-doctype,.hljs-shebang,.hljs-cdata{color:#999;font-weight:bold}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}"
},
"$:/plugins/tiddlywiki/highlight/usage": {
"title": "$:/plugins/tiddlywiki/highlight/usage",
"text": "! Usage\n\nFenced code blocks can have a language specifier added to trigger highlighting in a specific language. Otherwise heuristics are used to detect the language.\n\n```\n ```js\n var a = b + c; // Highlighted as JavaScript\n ```\n```\n! Adding Themes\n\nYou can add themes from highlight.js by copying the CSS to a new tiddler and tagging it with [[$:/tags/Stylesheet]]. The available themes can be found on GitHub:\n\nhttps://github.com/isagalaev/highlight.js/tree/master/src/styles\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/markdown/EditorToolbar/bold": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/bold",
"list-after": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"**\"\n\tsuffix=\"**\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-1": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-1",
"list-after": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-2": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-2",
"list-after": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"2\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-3": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-3",
"list-after": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"3\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-4": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-4",
"list-after": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"4\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-5": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-5",
"list-after": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"5\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-6": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-6",
"list-after": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"6\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/italic": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/italic",
"list-after": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"*\"\n\tsuffix=\"*\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet",
"list-after": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/list-number": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/list-number",
"list-after": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"1.\"\n\tcount=\"1\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line",
"list-after": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/plugins/tiddlywiki/markdown/EditorToolbar/quote": {
"title": "$:/plugins/tiddlywiki/markdown/EditorToolbar/quote",
"list-after": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}} (Markdown)",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>type[text/x-markdown]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\">\"\n\tcount=\"1\"\n/>\n"
},
"$:/config/markdown/breaks": {
"title": "$:/config/markdown/breaks",
"text": "false"
},
"$:/config/markdown/linkNewWindow": {
"title": "$:/config/markdown/linkNewWindow",
"text": "true"
},
"$:/config/markdown/linkify": {
"title": "$:/config/markdown/linkify",
"text": "false"
},
"$:/config/markdown/quotes": {
"title": "$:/config/markdown/quotes",
"text": "“”‘’"
},
"$:/config/markdown/renderWikiText": {
"title": "$:/config/markdown/renderWikiText",
"text": "true"
},
"$:/config/markdown/renderWikiTextPragma": {
"title": "$:/config/markdown/renderWikiTextPragma",
"text": "\\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock"
},
"$:/config/markdown/typographer": {
"title": "$:/config/markdown/typographer",
"text": "false"
},
"$:/language/Docs/Types/text/x-markdown": {
"title": "$:/language/Docs/Types/text/x-markdown",
"description": "Markdown",
"name": "text/x-markdown",
"group": "Text"
},
"$:/plugins/tiddlywiki/markdown/remarkable.js": {
"text": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=e||self).remarkable={})}(this,function(e){\"use strict\";var t={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",AMP:\"&\",amp:\"&\",And:\"⩓\",and:\"∧\",andand:\"⩕\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsd:\"∡\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",ap:\"≈\",apacir:\"⩯\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",Barwed:\"⌆\",barwed:\"⌅\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",Because:\"∵\",because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxDL:\"╗\",boxDl:\"╖\",boxdL:\"╕\",boxdl:\"┐\",boxDR:\"╔\",boxDr:\"╓\",boxdR:\"╒\",boxdr:\"┌\",boxH:\"═\",boxh:\"─\",boxHD:\"╦\",boxHd:\"╤\",boxhD:\"╥\",boxhd:\"┬\",boxHU:\"╩\",boxHu:\"╧\",boxhU:\"╨\",boxhu:\"┴\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxUL:\"╝\",boxUl:\"╜\",boxuL:\"╛\",boxul:\"┘\",boxUR:\"╚\",boxUr:\"╙\",boxuR:\"╘\",boxur:\"└\",boxV:\"║\",boxv:\"│\",boxVH:\"╬\",boxVh:\"╫\",boxvH:\"╪\",boxvh:\"┼\",boxVL:\"╣\",boxVl:\"╢\",boxvL:\"╡\",boxvl:\"┤\",boxVR:\"╠\",boxVr:\"╟\",boxvR:\"╞\",boxvr:\"├\",bprime:\"‵\",Breve:\"˘\",breve:\"˘\",brvbar:\"¦\",Bscr:\"ℬ\",bscr:\"𝒷\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsol:\"\\\\\",bsolb:\"⧅\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",Cap:\"⋒\",cap:\"∩\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",CenterDot:\"·\",centerdot:\"·\",Cfr:\"ℭ\",cfr:\"𝔠\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",cir:\"○\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",Colon:\"∷\",colon:\":\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",Conint:\"∯\",conint:\"∮\",ContourIntegral:\"∮\",Copf:\"ℂ\",copf:\"𝕔\",coprod:\"∐\",Coproduct:\"∐\",COPY:\"©\",copy:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",Cross:\"⨯\",cross:\"✗\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",Cup:\"⋓\",cup:\"∪\",cupbrcap:\"⩈\",CupCap:\"≍\",cupcap:\"⩆\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",Dagger:\"‡\",dagger:\"†\",daleth:\"ℸ\",Darr:\"↡\",dArr:\"⇓\",darr:\"↓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",DD:\"ⅅ\",dd:\"ⅆ\",ddagger:\"‡\",ddarr:\"⇊\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",Diamond:\"⋄\",diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrow:\"↓\",Downarrow:\"⇓\",downarrow:\"↓\",DownArrowBar:\"⤓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVector:\"↽\",DownLeftVectorBar:\"⥖\",DownRightTeeVector:\"⥟\",DownRightVector:\"⇁\",DownRightVectorBar:\"⥗\",DownTee:\"⊤\",DownTeeArrow:\"↧\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",ecir:\"≖\",Ecirc:\"Ê\",ecirc:\"ê\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",eDot:\"≑\",edot:\"ė\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp:\" \",emsp13:\" \",emsp14:\" \",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\" \",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",Escr:\"ℰ\",escr:\"ℯ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",ExponentialE:\"ⅇ\",exponentiale:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ffi\",fflig:\"ff\",ffllig:\"ffl\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"fi\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"fl\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",ForAll:\"∀\",forall:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",Fscr:\"ℱ\",fscr:\"𝒻\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",gE:\"≧\",ge:\"≥\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",ges:\"⩾\",gescc:\"⪩\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",Gg:\"⋙\",gg:\"≫\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gl:\"≷\",gla:\"⪥\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gnE:\"≩\",gne:\"⪈\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",GT:\">\",Gt:\"≫\",gt:\">\",gtcc:\"⪧\",gtcir:\"⩺\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\" \",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",hArr:\"⇔\",harr:\"↔\",harrcir:\"⥈\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",Hfr:\"ℌ\",hfr:\"𝔥\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",Hopf:\"ℍ\",hopf:\"𝕙\",horbar:\"―\",HorizontalLine:\"─\",Hscr:\"ℋ\",hscr:\"𝒽\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",Ifr:\"ℑ\",ifr:\"𝔦\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"IJ\",ijlig:\"ij\",Im:\"ℑ\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",in:\"∈\",incare:\"℅\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",Int:\"∬\",int:\"∫\",intcal:\"⊺\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"\",InvisibleTimes:\"\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",Iscr:\"ℐ\",iscr:\"𝒾\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",Lang:\"⟪\",lang:\"⟨\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",Larr:\"↞\",lArr:\"⇐\",larr:\"←\",larrb:\"⇤\",larrbfs:\"⤟\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",lat:\"⪫\",lAtail:\"⤛\",latail:\"⤙\",late:\"⪭\",lates:\"⪭︀\",lBarr:\"⤎\",lbarr:\"⤌\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",lE:\"≦\",le:\"≤\",LeftAngleBracket:\"⟨\",LeftArrow:\"←\",Leftarrow:\"⇐\",leftarrow:\"←\",LeftArrowBar:\"⇤\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVector:\"⇃\",LeftDownVectorBar:\"⥙\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrow:\"↔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTee:\"⊣\",LeftTeeArrow:\"↤\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangle:\"⊲\",LeftTriangleBar:\"⧏\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVector:\"↿\",LeftUpVectorBar:\"⥘\",LeftVector:\"↼\",LeftVectorBar:\"⥒\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",les:\"⩽\",lescc:\"⪨\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",Ll:\"⋘\",ll:\"≪\",llarr:\"⇇\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoust:\"⎰\",lmoustache:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lnE:\"≨\",lne:\"⪇\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftarrow:\"⟵\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longleftrightarrow:\"⟷\",longmapsto:\"⟼\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",longrightarrow:\"⟶\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"\",lrtri:\"⊿\",lsaquo:\"‹\",Lscr:\"ℒ\",lscr:\"𝓁\",Lsh:\"↰\",lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",LT:\"<\",Lt:\"≪\",lt:\"<\",ltcc:\"⪦\",ltcir:\"⩹\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\" \",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",mid:\"∣\",midast:\"*\",midcir:\"⫰\",middot:\"·\",minus:\"−\",minusb:\"⊟\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",Mscr:\"ℳ\",mscr:\"𝓂\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ʼn\",napprox:\"≉\",natur:\"♮\",natural:\"♮\",naturals:\"ℕ\",nbsp:\" \",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",ne:\"≠\",nearhk:\"⤤\",neArr:\"⇗\",nearr:\"↗\",nearrow:\"↗\",nedot:\"≐̸\",NegativeMediumSpace:\"\",NegativeThickSpace:\"\",NegativeThinSpace:\"\",NegativeVeryThinSpace:\"\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nhArr:\"⇎\",nharr:\"↮\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlArr:\"⇍\",nlarr:\"↚\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nLeftarrow:\"⇍\",nleftarrow:\"↚\",nLeftrightarrow:\"⇎\",nleftrightarrow:\"↮\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"\",NonBreakingSpace:\" \",Nopf:\"ℕ\",nopf:\"𝕟\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangle:\"⋪\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangle:\"⋫\",NotRightTriangleBar:\"⧐̸\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",npar:\"∦\",nparallel:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",npre:\"⪯̸\",nprec:\"⊀\",npreceq:\"⪯̸\",nrArr:\"⇏\",nrarr:\"↛\",nrarrc:\"⤳̸\",nrarrw:\"↝̸\",nRightarrow:\"⇏\",nrightarrow:\"↛\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\" \",nvap:\"≍⃒\",nVDash:\"⊯\",nVdash:\"⊮\",nvDash:\"⊭\",nvdash:\"⊬\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwArr:\"⇖\",nwarr:\"↖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",ocir:\"⊚\",Ocirc:\"Ô\",ocirc:\"ô\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",Or:\"⩔\",or:\"∨\",orarr:\"↻\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",Otimes:\"⨷\",otimes:\"⊗\",otimesas:\"⨶\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",par:\"∥\",para:\"¶\",parallel:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plus:\"+\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",Popf:\"ℙ\",popf:\"𝕡\",pound:\"£\",Pr:\"⪻\",pr:\"≺\",prap:\"⪷\",prcue:\"≼\",prE:\"⪳\",pre:\"⪯\",prec:\"≺\",precapprox:\"⪷\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",precsim:\"≾\",Prime:\"″\",prime:\"′\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportion:\"∷\",Proportional:\"∝\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\" \",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",Qopf:\"ℚ\",qopf:\"𝕢\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",QUOT:'\"',quot:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",Rang:\"⟫\",rang:\"⟩\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",Rarr:\"↠\",rArr:\"⇒\",rarr:\"→\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",rAtail:\"⤜\",ratail:\"⤚\",ratio:\"∶\",rationals:\"ℚ\",RBarr:\"⤐\",rBarr:\"⤏\",rbarr:\"⤍\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",Re:\"ℜ\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",rect:\"▭\",REG:\"®\",reg:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",Rfr:\"ℜ\",rfr:\"𝔯\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrow:\"→\",Rightarrow:\"⇒\",rightarrow:\"→\",RightArrowBar:\"⇥\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVector:\"⇂\",RightDownVectorBar:\"⥕\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTee:\"⊢\",RightTeeArrow:\"↦\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangle:\"⊳\",RightTriangleBar:\"⧐\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVector:\"↾\",RightUpVectorBar:\"⥔\",RightVector:\"⇀\",RightVectorBar:\"⥓\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"\",rmoust:\"⎱\",rmoustache:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",Ropf:\"ℝ\",ropf:\"𝕣\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",Rscr:\"ℛ\",rscr:\"𝓇\",Rsh:\"↱\",rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",Sc:\"⪼\",sc:\"≻\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",sccue:\"≽\",scE:\"⪴\",sce:\"⪰\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdot:\"⋅\",sdotb:\"⊡\",sdote:\"⩦\",searhk:\"⤥\",seArr:\"⇘\",searr:\"↘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",sol:\"/\",solb:\"⧄\",solbar:\"⌿\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",squ:\"□\",Square:\"□\",square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",Sub:\"⋐\",sub:\"⊂\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",Subset:\"⋐\",subset:\"⊂\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succ:\"≻\",succapprox:\"⪸\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",Sum:\"∑\",sum:\"∑\",sung:\"♪\",Sup:\"⋑\",sup:\"⊃\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",Supset:\"⋑\",supset:\"⊃\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swArr:\"⇙\",swarr:\"↙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",Therefore:\"∴\",therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\" \",thinsp:\" \",ThinSpace:\" \",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",Tilde:\"∼\",tilde:\"˜\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",times:\"×\",timesb:\"⊠\",timesbar:\"⨱\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",top:\"⊤\",topbot:\"⌶\",topcir:\"⫱\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",TRADE:\"™\",trade:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",Uarr:\"↟\",uArr:\"⇑\",uarr:\"↑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrow:\"↑\",Uparrow:\"⇑\",uparrow:\"↑\",UpArrowBar:\"⤒\",UpArrowDownArrow:\"⇅\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",updownarrow:\"↕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",Upsi:\"ϒ\",upsi:\"υ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTee:\"⊥\",UpTeeArrow:\"↥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",vArr:\"⇕\",varr:\"↕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",Vbar:\"⫫\",vBar:\"⫨\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",VDash:\"⊫\",Vdash:\"⊩\",vDash:\"⊨\",vdash:\"⊢\",Vdashl:\"⫦\",Vee:\"⋁\",vee:\"∨\",veebar:\"⊻\",veeeq:\"≚\",vellip:\"⋮\",Verbar:\"‖\",verbar:\"|\",Vert:\"‖\",vert:\"|\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\" \",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",Wedge:\"⋀\",wedge:\"∧\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xhArr:\"⟺\",xharr:\"⟷\",Xi:\"Ξ\",xi:\"ξ\",xlArr:\"⟸\",xlarr:\"⟵\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrArr:\"⟹\",xrarr:\"⟶\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",Yuml:\"Ÿ\",yuml:\"ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"\",Zeta:\"Ζ\",zeta:\"ζ\",Zfr:\"ℨ\",zfr:\"𝔷\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",Zopf:\"ℤ\",zopf:\"𝕫\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"\",zwnj:\"\"},r=Object.prototype.hasOwnProperty;function n(e){return o=e,(n=t)&&r.call(n,o)?t[e]:e;var n,o}var o=Object.prototype.hasOwnProperty;function s(e,t){return!!e&&o.call(e,t)}function i(e){return[].slice.call(arguments,1).forEach(function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach(function(r){e[r]=t[r]})}}),e}var a=/\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;function u(e){return e.indexOf(\"\\\\\")<0?e:e.replace(a,\"$1\")}function l(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function c(e){if(e>65535){var t=55296+((e-=65536)>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}var p=/&([a-z#][a-z0-9]{1,31});/gi,h=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function f(e,t){var r=0,o=n(t);return t!==o?o:35===t.charCodeAt(0)&&h.test(t)&&l(r=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?c(r):e}function g(e){return e.indexOf(\"&\")<0?e:e.replace(p,f)}var d=/[&<>\"]/,m=/[&<>\"]/g,b={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"};function v(e){return b[e]}function k(e){return d.test(e)?e.replace(m,v):e}var A=Object.freeze({isString:function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},has:s,assign:i,unescapeMd:u,isValidEntityCode:l,fromCodePoint:c,replaceEntities:g,escapeHtml:k}),y={};y.blockquote_open=function(){return\"<blockquote>\\n\"},y.blockquote_close=function(e,t){return\"</blockquote>\"+x(e,t)},y.code=function(e,t){return e[t].block?\"<pre><code>\"+k(e[t].content)+\"</code></pre>\"+x(e,t):\"<code>\"+k(e[t].content)+\"</code>\"},y.fence=function(e,t,r,n,o){var i,a,l=e[t],c=\"\",p=r.langPrefix;if(l.params){if(a=(i=l.params.split(/\\s+/g)).join(\" \"),s(o.rules.fence_custom,i[0]))return o.rules.fence_custom[i[0]](e,t,r,n,o);c=' class=\"'+p+k(g(u(a)))+'\"'}return\"<pre><code\"+c+\">\"+(r.highlight&&r.highlight.apply(r.highlight,[l.content].concat(i))||k(l.content))+\"</code></pre>\"+x(e,t)},y.fence_custom={},y.heading_open=function(e,t){return\"<h\"+e[t].hLevel+\">\"},y.heading_close=function(e,t){return\"</h\"+e[t].hLevel+\">\\n\"},y.hr=function(e,t,r){return(r.xhtmlOut?\"<hr />\":\"<hr>\")+x(e,t)},y.bullet_list_open=function(){return\"<ul>\\n\"},y.bullet_list_close=function(e,t){return\"</ul>\"+x(e,t)},y.list_item_open=function(){return\"<li>\"},y.list_item_close=function(){return\"</li>\\n\"},y.ordered_list_open=function(e,t){var r=e[t];return\"<ol\"+(r.order>1?' start=\"'+r.order+'\"':\"\")+\">\\n\"},y.ordered_list_close=function(e,t){return\"</ol>\"+x(e,t)},y.paragraph_open=function(e,t){return e[t].tight?\"\":\"<p>\"},y.paragraph_close=function(e,t){var r=!(e[t].tight&&t&&\"inline\"===e[t-1].type&&!e[t-1].content);return(e[t].tight?\"\":\"</p>\")+(r?x(e,t):\"\")},y.link_open=function(e,t,r){var n=e[t].title?' title=\"'+k(g(e[t].title))+'\"':\"\",o=r.linkTarget?' target=\"'+r.linkTarget+'\"':\"\";return'<a href=\"'+k(e[t].href)+'\"'+n+o+\">\"},y.link_close=function(){return\"</a>\"},y.image=function(e,t,r){var n=' src=\"'+k(e[t].src)+'\"',o=e[t].title?' title=\"'+k(g(e[t].title))+'\"':\"\";return\"<img\"+n+(' alt=\"'+(e[t].alt?k(g(u(e[t].alt))):\"\")+'\"')+o+(r.xhtmlOut?\" /\":\"\")+\">\"},y.table_open=function(){return\"<table>\\n\"},y.table_close=function(){return\"</table>\\n\"},y.thead_open=function(){return\"<thead>\\n\"},y.thead_close=function(){return\"</thead>\\n\"},y.tbody_open=function(){return\"<tbody>\\n\"},y.tbody_close=function(){return\"</tbody>\\n\"},y.tr_open=function(){return\"<tr>\"},y.tr_close=function(){return\"</tr>\\n\"},y.th_open=function(e,t){var r=e[t];return\"<th\"+(r.align?' style=\"text-align:'+r.align+'\"':\"\")+\">\"},y.th_close=function(){return\"</th>\"},y.td_open=function(e,t){var r=e[t];return\"<td\"+(r.align?' style=\"text-align:'+r.align+'\"':\"\")+\">\"},y.td_close=function(){return\"</td>\"},y.strong_open=function(){return\"<strong>\"},y.strong_close=function(){return\"</strong>\"},y.em_open=function(){return\"<em>\"},y.em_close=function(){return\"</em>\"},y.del_open=function(){return\"<del>\"},y.del_close=function(){return\"</del>\"},y.ins_open=function(){return\"<ins>\"},y.ins_close=function(){return\"</ins>\"},y.mark_open=function(){return\"<mark>\"},y.mark_close=function(){return\"</mark>\"},y.sub=function(e,t){return\"<sub>\"+k(e[t].content)+\"</sub>\"},y.sup=function(e,t){return\"<sup>\"+k(e[t].content)+\"</sup>\"},y.hardbreak=function(e,t,r){return r.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},y.softbreak=function(e,t,r){return r.breaks?r.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},y.text=function(e,t){return k(e[t].content)},y.htmlblock=function(e,t){return e[t].content},y.htmltag=function(e,t){return e[t].content},y.abbr_open=function(e,t){return'<abbr title=\"'+k(g(e[t].title))+'\">'},y.abbr_close=function(){return\"</abbr>\"},y.footnote_ref=function(e,t){var r=Number(e[t].id+1).toString(),n=\"fnref\"+r;return e[t].subId>0&&(n+=\":\"+e[t].subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+r+'\" id=\"'+n+'\">['+r+\"]</a></sup>\"},y.footnote_block_open=function(e,t,r){return(r.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n')+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'},y.footnote_block_close=function(){return\"</ol>\\n</section>\\n\"},y.footnote_open=function(e,t){return'<li id=\"fn'+Number(e[t].id+1).toString()+'\" class=\"footnote-item\">'},y.footnote_close=function(){return\"</li>\\n\"},y.footnote_anchor=function(e,t){var r=\"fnref\"+Number(e[t].id+1).toString();return e[t].subId>0&&(r+=\":\"+e[t].subId),' <a href=\"#'+r+'\" class=\"footnote-backref\">↩</a>'},y.dl_open=function(){return\"<dl>\\n\"},y.dt_open=function(){return\"<dt>\"},y.dd_open=function(){return\"<dd>\"},y.dl_close=function(){return\"</dl>\\n\"},y.dt_close=function(){return\"</dt>\\n\"},y.dd_close=function(){return\"</dd>\\n\"};var x=y.getBreak=function(e,t){return(t=function e(t,r){return++r>=t.length-2?r:\"paragraph_open\"===t[r].type&&t[r].tight&&\"inline\"===t[r+1].type&&0===t[r+1].content.length&&\"paragraph_close\"===t[r+2].type&&t[r+2].tight?e(t,r+2):r}(e,t))<e.length&&\"list_item_close\"===e[t].type?\"\":\"\\n\"};function w(){this.rules=i({},y),this.getBreak=y.getBreak}function C(){this.__rules__=[],this.__cache__=null}function E(e,t,r,n,o){this.src=e,this.env=n,this.options=r,this.parser=t,this.tokens=o,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent=\"\",this.labelUnmatchedScopes=0}function D(e,t){var r,n,o,s=-1,i=e.posMax,a=e.pos,u=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,r=1;e.pos<i;){if(91===(o=e.src.charCodeAt(e.pos)))r++;else if(93===o&&0===--r){n=!0;break}e.parser.skipToken(e)}return n?(s=e.pos,e.labelUnmatchedScopes=0):e.labelUnmatchedScopes=r-1,e.pos=a,e.isInLabel=u,s}function _(e,t,r,n){var o,s,i,a,u,l;if(42!==e.charCodeAt(0))return-1;if(91!==e.charCodeAt(1))return-1;if(-1===e.indexOf(\"]:\"))return-1;if((s=D(o=new E(e,t,r,n,[]),1))<0||58!==e.charCodeAt(s+1))return-1;for(a=o.posMax,i=s+2;i<a&&10!==o.src.charCodeAt(i);i++);return u=e.slice(2,s),0===(l=e.slice(s+2,i).trim()).length?-1:(n.abbreviations||(n.abbreviations={}),void 0===n.abbreviations[\":\"+u]&&(n.abbreviations[\":\"+u]=l),i)}function B(e){var t=g(e);try{t=decodeURI(t)}catch(e){}return encodeURI(t)}function q(e,t){var r,n,o,s=t,i=e.posMax;if(60===e.src.charCodeAt(t)){for(t++;t<i;){if(10===(r=e.src.charCodeAt(t)))return!1;if(62===r)return o=B(u(e.src.slice(s+1,t))),!!e.parser.validateLink(o)&&(e.pos=t+1,e.linkContent=o,!0);92===r&&t+1<i?t+=2:t++}return!1}for(n=0;t<i&&32!==(r=e.src.charCodeAt(t))&&!(r<32||127===r);)if(92===r&&t+1<i)t+=2;else{if(40===r&&++n>1)break;if(41===r&&--n<0)break;t++}return s!==t&&(o=u(e.src.slice(s,t)),!!e.parser.validateLink(o)&&(e.linkContent=o,e.pos=t,!0))}function F(e,t){var r,n=t,o=e.posMax,s=e.src.charCodeAt(t);if(34!==s&&39!==s&&40!==s)return!1;for(t++,40===s&&(s=41);t<o;){if((r=e.src.charCodeAt(t))===s)return e.pos=t+1,e.linkContent=u(e.src.slice(n+1,t)),!0;92===r&&t+1<o?t+=2:t++}return!1}function M(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}function S(e,t,r,n){var o,s,i,a,u,l,c,p,h;if(91!==e.charCodeAt(0))return-1;if(-1===e.indexOf(\"]:\"))return-1;if((s=D(o=new E(e,t,r,n,[]),0))<0||58!==e.charCodeAt(s+1))return-1;for(a=o.posMax,i=s+2;i<a&&(32===(u=o.src.charCodeAt(i))||10===u);i++);if(!q(o,i))return-1;for(c=o.linkContent,l=i=o.pos,i+=1;i<a&&(32===(u=o.src.charCodeAt(i))||10===u);i++);for(i<a&&l!==i&&F(o,i)?(p=o.linkContent,i=o.pos):(p=\"\",i=l);i<a&&32===o.src.charCodeAt(i);)i++;return i<a&&10!==o.src.charCodeAt(i)?-1:(h=M(e.slice(1,s)),void 0===n.references[h]&&(n.references[h]={title:p,href:c}),i)}w.prototype.renderInline=function(e,t,r){for(var n=this.rules,o=e.length,s=0,i=\"\";o--;)i+=n[e[s].type](e,s++,t,r,this);return i},w.prototype.render=function(e,t,r){for(var n=this.rules,o=e.length,s=-1,i=\"\";++s<o;)\"inline\"===e[s].type?i+=this.renderInline(e[s].children,t,r):i+=n[e[s].type](e,s,t,r,this);return i},C.prototype.__find__=function(e){for(var t=this.__rules__.length,r=-1;t--;)if(this.__rules__[++r].name===e)return r;return-1},C.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(r){r.enabled&&(t&&r.alt.indexOf(t)<0||e.__cache__[t].push(r.fn))})})},C.prototype.at=function(e,t,r){var n=this.__find__(e),o=r||{};if(-1===n)throw new Error(\"Parser rule not found: \"+e);this.__rules__[n].fn=t,this.__rules__[n].alt=o.alt||[],this.__cache__=null},C.prototype.before=function(e,t,r,n){var o=this.__find__(e),s=n||{};if(-1===o)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:r,alt:s.alt||[]}),this.__cache__=null},C.prototype.after=function(e,t,r,n){var o=this.__find__(e),s=n||{};if(-1===o)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:r,alt:s.alt||[]}),this.__cache__=null},C.prototype.push=function(e,t,r){var n=r||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null},C.prototype.enable=function(e,t){e=Array.isArray(e)?e:[e],t&&this.__rules__.forEach(function(e){e.enabled=!1}),e.forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!0},this),this.__cache__=null},C.prototype.disable=function(e){(e=Array.isArray(e)?e:[e]).forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!1},this),this.__cache__=null},C.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},E.prototype.pushPending=function(){this.tokens.push({type:\"text\",content:this.pending,level:this.pendingLevel}),this.pending=\"\"},E.prototype.push=function(e){this.pending&&this.pushPending(),this.tokens.push(e),this.pendingLevel=this.level},E.prototype.cacheSet=function(e,t){for(var r=this.cache.length;r<=e;r++)this.cache.push(0);this.cache[e]=t},E.prototype.cacheGet=function(e){return e<this.cache.length?this.cache[e]:0};var T=\" \\n()[]'\\\".,!?-\";function L(e){return e.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\")}var R=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,N=/\\((c|tm|r|p)\\)/gi,z={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};var P=/['\"]/,j=/['\"]/g,I=/[-\\s()\\[\\]]/,O=\"’\";function U(e,t){return!(t<0||t>=e.length)&&!I.test(e[t])}function H(e,t,r){return e.substr(0,t)+r+e.substr(t+1)}var V=[[\"block\",function(e){e.inlineMode?e.tokens.push({type:\"inline\",content:e.src.replace(/\\n/g,\" \").trim(),level:0,lines:[0,1],children:[]}):e.block.parse(e.src,e.options,e.env,e.tokens)}],[\"abbr\",function(e){var t,r,n,o,s=e.tokens;if(!e.inlineMode)for(t=1,r=s.length-1;t<r;t++)if(\"paragraph_open\"===s[t-1].type&&\"inline\"===s[t].type&&\"paragraph_close\"===s[t+1].type){for(n=s[t].content;n.length&&!((o=_(n,e.inline,e.options,e.env))<0);)n=n.slice(o).trim();s[t].content=n,n.length||(s[t-1].tight=!0,s[t+1].tight=!0)}}],[\"references\",function(e){var t,r,n,o,s=e.tokens;if(e.env.references=e.env.references||{},!e.inlineMode)for(t=1,r=s.length-1;t<r;t++)if(\"inline\"===s[t].type&&\"paragraph_open\"===s[t-1].type&&\"paragraph_close\"===s[t+1].type){for(n=s[t].content;n.length&&!((o=S(n,e.inline,e.options,e.env))<0);)n=n.slice(o).trim();s[t].content=n,n.length||(s[t-1].tight=!0,s[t+1].tight=!0)}}],[\"inline\",function(e){var t,r,n,o=e.tokens;for(r=0,n=o.length;r<n;r++)\"inline\"===(t=o[r]).type&&e.inline.parse(t.content,e.options,e.env,t.children)}],[\"footnote_tail\",function(e){var t,r,n,o,s,i,a,u,l,c=0,p=!1,h={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return\"footnote_reference_open\"===e.type?(p=!0,u=[],l=e.label,!1):\"footnote_reference_close\"===e.type?(p=!1,h[\":\"+l]=u,!1):(p&&u.push(e),!p)}),e.env.footnotes.list)){for(i=e.env.footnotes.list,e.tokens.push({type:\"footnote_block_open\",level:c++}),t=0,r=i.length;t<r;t++){for(e.tokens.push({type:\"footnote_open\",id:t,level:c++}),i[t].tokens?((a=[]).push({type:\"paragraph_open\",tight:!1,level:c++}),a.push({type:\"inline\",content:\"\",level:c,children:i[t].tokens}),a.push({type:\"paragraph_close\",tight:!1,level:--c})):i[t].label&&(a=h[\":\"+i[t].label]),e.tokens=e.tokens.concat(a),s=\"paragraph_close\"===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,o=i[t].count>0?i[t].count:1,n=0;n<o;n++)e.tokens.push({type:\"footnote_anchor\",id:t,subId:n,level:c});s&&e.tokens.push(s),e.tokens.push({type:\"footnote_close\",level:--c})}e.tokens.push({type:\"footnote_block_close\",level:--c})}}],[\"abbr2\",function(e){var t,r,n,o,s,i,a,u,l,c,p,h,f=e.tokens;if(e.env.abbreviations)for(e.env.abbrRegExp||(h=\"(^|[\"+T.split(\"\").map(L).join(\"\")+\"])(\"+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(L).join(\"|\")+\")($|[\"+T.split(\"\").map(L).join(\"\")+\"])\",e.env.abbrRegExp=new RegExp(h,\"g\")),c=e.env.abbrRegExp,r=0,n=f.length;r<n;r++)if(\"inline\"===f[r].type)for(t=(o=f[r].children).length-1;t>=0;t--)if(\"text\"===(s=o[t]).type){for(u=0,i=s.content,c.lastIndex=0,l=s.level,a=[];p=c.exec(i);)c.lastIndex>u&&a.push({type:\"text\",content:i.slice(u,p.index+p[1].length),level:l}),a.push({type:\"abbr_open\",title:e.env.abbreviations[\":\"+p[2]],level:l++}),a.push({type:\"text\",content:p[2],level:l}),a.push({type:\"abbr_close\",level:--l}),u=c.lastIndex-p[3].length;a.length&&(u<i.length&&a.push({type:\"text\",content:i.slice(u),level:l}),f[r].children=o=[].concat(o.slice(0,t),a,o.slice(t+1)))}}],[\"replacements\",function(e){var t,r,n,o,s,i;if(e.options.typographer)for(s=e.tokens.length-1;s>=0;s--)if(\"inline\"===e.tokens[s].type)for(t=(o=e.tokens[s].children).length-1;t>=0;t--)\"text\"===(r=o[t]).type&&(n=r.content,n=(i=n).indexOf(\"(\")<0?i:i.replace(N,function(e,t){return z[t.toLowerCase()]}),R.test(n)&&(n=n.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),r.content=n)}],[\"smartquotes\",function(e){var t,r,n,o,s,i,a,u,l,c,p,h,f,g,d,m,b;if(e.options.typographer)for(b=[],d=e.tokens.length-1;d>=0;d--)if(\"inline\"===e.tokens[d].type)for(m=e.tokens[d].children,b.length=0,t=0;t<m.length;t++)if(\"text\"===(r=m[t]).type&&!P.test(r.text)){for(a=m[t].level,f=b.length-1;f>=0&&!(b[f].level<=a);f--);b.length=f+1,s=0,i=(n=r.content).length;e:for(;s<i&&(j.lastIndex=s,o=j.exec(n));)if(u=!U(n,o.index-1),s=o.index+1,g=\"'\"===o[0],(l=!U(n,s))||u){if(p=!l,h=!u)for(f=b.length-1;f>=0&&(c=b[f],!(b[f].level<a));f--)if(c.single===g&&b[f].level===a){c=b[f],g?(m[c.token].content=H(m[c.token].content,c.pos,e.options.quotes[2]),r.content=H(r.content,o.index,e.options.quotes[3])):(m[c.token].content=H(m[c.token].content,c.pos,e.options.quotes[0]),r.content=H(r.content,o.index,e.options.quotes[1])),b.length=f;continue e}p?b.push({token:t,pos:o.index,single:g,level:a}):h&&g&&(r.content=H(r.content,o.index,O))}else g&&(r.content=H(r.content,o.index,O))}}]];function G(){this.options={},this.ruler=new C;for(var e=0;e<V.length;e++)this.ruler.push(V[e][0],V[e][1])}function $(e,t,r,n,o){var s,i,a,u,l,c,p;for(this.src=e,this.parser=t,this.options=r,this.env=n,this.tokens=o,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType=\"root\",this.ddIndent=-1,this.level=0,this.result=\"\",c=0,p=!1,a=u=c=0,l=(i=this.src).length;u<l;u++){if(s=i.charCodeAt(u),!p){if(32===s){c++;continue}p=!0}10!==s&&u!==l-1||(10!==s&&u++,this.bMarks.push(a),this.eMarks.push(u),this.tShift.push(c),p=!1,c=0,a=u+1)}this.bMarks.push(i.length),this.eMarks.push(i.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}function Z(e,t){var r,n,o;return(n=e.bMarks[t]+e.tShift[t])>=(o=e.eMarks[t])?-1:42!==(r=e.src.charCodeAt(n++))&&45!==r&&43!==r?-1:n<o&&32!==e.src.charCodeAt(n)?-1:n}function W(e,t){var r,n=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(n+1>=o)return-1;if((r=e.src.charCodeAt(n++))<48||r>57)return-1;for(;;){if(n>=o)return-1;if(!((r=e.src.charCodeAt(n++))>=48&&r<=57)){if(41===r||46===r)break;return-1}}return n<o&&32!==e.src.charCodeAt(n)?-1:n}G.prototype.process=function(e){var t,r,n;for(t=0,r=(n=this.ruler.getRules(\"\")).length;t<r;t++)n[t](e)},$.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},$.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},$.prototype.skipSpaces=function(e){for(var t=this.src.length;e<t&&32===this.src.charCodeAt(e);e++);return e},$.prototype.skipChars=function(e,t){for(var r=this.src.length;e<r&&this.src.charCodeAt(e)===t;e++);return e},$.prototype.skipCharsBack=function(e,t,r){if(e<=r)return e;for(;e>r;)if(t!==this.src.charCodeAt(--e))return e+1;return e},$.prototype.getLines=function(e,t,r,n){var o,s,i,a,u,l=e;if(e>=t)return\"\";if(l+1===t)return s=this.bMarks[l]+Math.min(this.tShift[l],r),i=n?this.eMarks[l]+1:this.eMarks[l],this.src.slice(s,i);for(a=new Array(t-e),o=0;l<t;l++,o++)(u=this.tShift[l])>r&&(u=r),u<0&&(u=0),s=this.bMarks[l]+u,i=l+1<t||n?this.eMarks[l]+1:this.eMarks[l],a[o]=this.src.slice(s,i);return a.join(\"\")};var J={};[\"article\",\"aside\",\"button\",\"blockquote\",\"body\",\"canvas\",\"caption\",\"col\",\"colgroup\",\"dd\",\"div\",\"dl\",\"dt\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"iframe\",\"li\",\"map\",\"object\",\"ol\",\"output\",\"p\",\"pre\",\"progress\",\"script\",\"section\",\"style\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"tr\",\"thead\",\"ul\",\"video\"].forEach(function(e){J[e]=!0});var Y=/^<([a-zA-Z]{1,15})[\\s\\/>]/,K=/^<\\/([a-zA-Z]{1,15})[\\s>]/;function Q(e,t){var r=e.bMarks[t]+e.blkIndent,n=e.eMarks[t];return e.src.substr(r,n-r)}function X(e,t){var r,n,o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];return o>=s?-1:126!==(n=e.src.charCodeAt(o++))&&58!==n?-1:o===(r=e.skipSpaces(o))?-1:r>=s?-1:r}var ee=[[\"code\",function(e,t,r){var n,o;if(e.tShift[t]-e.blkIndent<4)return!1;for(o=n=t+1;n<r;)if(e.isEmpty(n))n++;else{if(!(e.tShift[n]-e.blkIndent>=4))break;o=++n}return e.line=n,e.tokens.push({type:\"code\",content:e.getLines(t,o,4+e.blkIndent,!0),block:!0,lines:[t,e.line],level:e.level}),!0}],[\"fences\",function(e,t,r,n){var o,s,i,a,u,l=!1,c=e.bMarks[t]+e.tShift[t],p=e.eMarks[t];if(c+3>p)return!1;if(126!==(o=e.src.charCodeAt(c))&&96!==o)return!1;if(u=c,(s=(c=e.skipChars(c,o))-u)<3)return!1;if((i=e.src.slice(c,p).trim()).indexOf(\"`\")>=0)return!1;if(n)return!0;for(a=t;!(++a>=r||(c=u=e.bMarks[a]+e.tShift[a])<(p=e.eMarks[a])&&e.tShift[a]<e.blkIndent);)if(e.src.charCodeAt(c)===o&&!(e.tShift[a]-e.blkIndent>=4||(c=e.skipChars(c,o))-u<s||(c=e.skipSpaces(c))<p)){l=!0;break}return s=e.tShift[t],e.line=a+(l?1:0),e.tokens.push({type:\"fence\",params:i,content:e.getLines(t+1,a,s,!0),lines:[t,e.line],level:e.level}),!0},[\"paragraph\",\"blockquote\",\"list\"]],[\"blockquote\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d=e.bMarks[t]+e.tShift[t],m=e.eMarks[t];if(d>m)return!1;if(62!==e.src.charCodeAt(d++))return!1;if(e.level>=e.options.maxNesting)return!1;if(n)return!0;for(32===e.src.charCodeAt(d)&&d++,u=e.blkIndent,e.blkIndent=0,a=[e.bMarks[t]],e.bMarks[t]=d,s=(d=d<m?e.skipSpaces(d):d)>=m,i=[e.tShift[t]],e.tShift[t]=d-e.bMarks[t],p=e.parser.ruler.getRules(\"blockquote\"),o=t+1;o<r&&!((d=e.bMarks[o]+e.tShift[o])>=(m=e.eMarks[o]));o++)if(62!==e.src.charCodeAt(d++)){if(s)break;for(g=!1,h=0,f=p.length;h<f;h++)if(p[h](e,o,r,!0)){g=!0;break}if(g)break;a.push(e.bMarks[o]),i.push(e.tShift[o]),e.tShift[o]=-1337}else 32===e.src.charCodeAt(d)&&d++,a.push(e.bMarks[o]),e.bMarks[o]=d,s=(d=d<m?e.skipSpaces(d):d)>=m,i.push(e.tShift[o]),e.tShift[o]=d-e.bMarks[o];for(l=e.parentType,e.parentType=\"blockquote\",e.tokens.push({type:\"blockquote_open\",lines:c=[t,0],level:e.level++}),e.parser.tokenize(e,t,o),e.tokens.push({type:\"blockquote_close\",level:--e.level}),e.parentType=l,c[1]=e.line,h=0;h<i.length;h++)e.bMarks[h+t]=a[h],e.tShift[h+t]=i[h];return e.blkIndent=u,!0},[\"paragraph\",\"blockquote\",\"list\"]],[\"hr\",function(e,t,r,n){var o,s,i,a=e.bMarks[t],u=e.eMarks[t];if((a+=e.tShift[t])>u)return!1;if(42!==(o=e.src.charCodeAt(a++))&&45!==o&&95!==o)return!1;for(s=1;a<u;){if((i=e.src.charCodeAt(a++))!==o&&32!==i)return!1;i===o&&s++}return!(s<3||!n&&(e.line=t+1,e.tokens.push({type:\"hr\",lines:[t,e.line],level:e.level}),0))},[\"paragraph\",\"blockquote\",\"list\"]],[\"list\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d,m,b,v,k,A,y,x,w,C,E=!0;if((p=W(e,t))>=0)d=!0;else{if(!((p=Z(e,t))>=0))return!1;d=!1}if(e.level>=e.options.maxNesting)return!1;if(g=e.src.charCodeAt(p-1),n)return!0;for(b=e.tokens.length,d?(c=e.bMarks[t]+e.tShift[t],f=Number(e.src.substr(c,p-c-1)),e.tokens.push({type:\"ordered_list_open\",order:f,lines:k=[t,0],level:e.level++})):e.tokens.push({type:\"bullet_list_open\",lines:k=[t,0],level:e.level++}),o=t,v=!1,y=e.parser.ruler.getRules(\"list\");!(!(o<r)||((h=(m=e.skipSpaces(p))>=e.eMarks[o]?1:m-p)>4&&(h=1),h<1&&(h=1),s=p-e.bMarks[o]+h,e.tokens.push({type:\"list_item_open\",lines:A=[t,0],level:e.level++}),a=e.blkIndent,u=e.tight,i=e.tShift[t],l=e.parentType,e.tShift[t]=m-e.bMarks[t],e.blkIndent=s,e.tight=!0,e.parentType=\"list\",e.parser.tokenize(e,t,r,!0),e.tight&&!v||(E=!1),v=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=a,e.tShift[t]=i,e.tight=u,e.parentType=l,e.tokens.push({type:\"list_item_close\",level:--e.level}),o=t=e.line,A[1]=o,m=e.bMarks[t],o>=r)||e.isEmpty(o)||e.tShift[o]<e.blkIndent);){for(C=!1,x=0,w=y.length;x<w;x++)if(y[x](e,o,r,!0)){C=!0;break}if(C)break;if(d){if((p=W(e,o))<0)break}else if((p=Z(e,o))<0)break;if(g!==e.src.charCodeAt(p-1))break}return e.tokens.push({type:d?\"ordered_list_close\":\"bullet_list_close\",level:--e.level}),k[1]=o,e.line=o,E&&function(e,t){var r,n,o=e.level+2;for(r=t+2,n=e.tokens.length-2;r<n;r++)e.tokens[r].level===o&&\"paragraph_open\"===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}(e,b),!0},[\"paragraph\",\"blockquote\"]],[\"footnote\",function(e,t,r,n){var o,s,i,a,u,l=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(l+4>c)return!1;if(91!==e.src.charCodeAt(l))return!1;if(94!==e.src.charCodeAt(l+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(a=l+2;a<c;a++){if(32===e.src.charCodeAt(a))return!1;if(93===e.src.charCodeAt(a))break}return!(a===l+2||a+1>=c||58!==e.src.charCodeAt(++a)||!n&&(a++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),u=e.src.slice(l+2,a-2),e.env.footnotes.refs[\":\"+u]=-1,e.tokens.push({type:\"footnote_reference_open\",label:u,level:e.level++}),o=e.bMarks[t],s=e.tShift[t],i=e.parentType,e.tShift[t]=e.skipSpaces(a)-a,e.bMarks[t]=a,e.blkIndent+=4,e.parentType=\"footnote\",e.tShift[t]<e.blkIndent&&(e.tShift[t]+=e.blkIndent,e.bMarks[t]-=e.blkIndent),e.parser.tokenize(e,t,r,!0),e.parentType=i,e.blkIndent-=4,e.tShift[t]=s,e.bMarks[t]=o,e.tokens.push({type:\"footnote_reference_close\",level:--e.level}),0))},[\"paragraph\"]],[\"heading\",function(e,t,r,n){var o,s,i,a=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(a>=u)return!1;if(35!==(o=e.src.charCodeAt(a))||a>=u)return!1;for(s=1,o=e.src.charCodeAt(++a);35===o&&a<u&&s<=6;)s++,o=e.src.charCodeAt(++a);return!(s>6||a<u&&32!==o||!n&&(u=e.skipCharsBack(u,32,a),(i=e.skipCharsBack(u,35,a))>a&&32===e.src.charCodeAt(i-1)&&(u=i),e.line=t+1,e.tokens.push({type:\"heading_open\",hLevel:s,lines:[t,e.line],level:e.level}),a<u&&e.tokens.push({type:\"inline\",content:e.src.slice(a,u).trim(),level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:s,level:e.level}),0))},[\"paragraph\",\"blockquote\"]],[\"lheading\",function(e,t,r){var n,o,s,i=t+1;return!(i>=r||e.tShift[i]<e.blkIndent||e.tShift[i]-e.blkIndent>3||(o=e.bMarks[i]+e.tShift[i])>=(s=e.eMarks[i])||45!==(n=e.src.charCodeAt(o))&&61!==n||(o=e.skipChars(o,n),(o=e.skipSpaces(o))<s||(o=e.bMarks[t]+e.tShift[t],e.line=i+1,e.tokens.push({type:\"heading_open\",hLevel:61===n?1:2,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:e.src.slice(o,e.eMarks[t]).trim(),level:e.level+1,lines:[t,e.line-1],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:61===n?1:2,level:e.level}),0)))}],[\"htmlblock\",function(e,t,r,n){var o,s,i,a=e.bMarks[t],u=e.eMarks[t],l=e.tShift[t];if(a+=l,!e.options.html)return!1;if(l>3||a+2>=u)return!1;if(60!==e.src.charCodeAt(a))return!1;if(33===(o=e.src.charCodeAt(a+1))||63===o){if(n)return!0}else{if(47!==o&&!function(e){var t=32|e;return t>=97&&t<=122}(o))return!1;if(47===o){if(!(s=e.src.slice(a,u).match(K)))return!1}else if(!(s=e.src.slice(a,u).match(Y)))return!1;if(!0!==J[s[1].toLowerCase()])return!1;if(n)return!0}for(i=t+1;i<e.lineMax&&!e.isEmpty(i);)i++;return e.line=i,e.tokens.push({type:\"htmlblock\",level:e.level,lines:[t,e.line],content:e.getLines(t,i,0,!0)}),!0},[\"paragraph\",\"blockquote\"]],[\"table\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g;if(t+2>r)return!1;if(u=t+1,e.tShift[u]<e.blkIndent)return!1;if((i=e.bMarks[u]+e.tShift[u])>=e.eMarks[u])return!1;if(124!==(o=e.src.charCodeAt(i))&&45!==o&&58!==o)return!1;if(s=Q(e,t+1),!/^[-:| ]+$/.test(s))return!1;if((l=s.split(\"|\"))<=2)return!1;for(p=[],a=0;a<l.length;a++){if(!(h=l[a].trim())){if(0===a||a===l.length-1)continue;return!1}if(!/^:?-+:?$/.test(h))return!1;58===h.charCodeAt(h.length-1)?p.push(58===h.charCodeAt(0)?\"center\":\"right\"):58===h.charCodeAt(0)?p.push(\"left\"):p.push(\"\")}if(-1===(s=Q(e,t).trim()).indexOf(\"|\"))return!1;if(l=s.replace(/^\\||\\|$/g,\"\").split(\"|\"),p.length!==l.length)return!1;if(n)return!0;for(e.tokens.push({type:\"table_open\",lines:f=[t,0],level:e.level++}),e.tokens.push({type:\"thead_open\",lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"tr_open\",lines:[t,t+1],level:e.level++}),a=0;a<l.length;a++)e.tokens.push({type:\"th_open\",align:p[a],lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"inline\",content:l[a].trim(),lines:[t,t+1],level:e.level,children:[]}),e.tokens.push({type:\"th_close\",level:--e.level});for(e.tokens.push({type:\"tr_close\",level:--e.level}),e.tokens.push({type:\"thead_close\",level:--e.level}),e.tokens.push({type:\"tbody_open\",lines:g=[t+2,0],level:e.level++}),u=t+2;u<r&&!(e.tShift[u]<e.blkIndent)&&-1!==(s=Q(e,u).trim()).indexOf(\"|\");u++){for(l=s.replace(/^\\||\\|$/g,\"\").split(\"|\"),e.tokens.push({type:\"tr_open\",level:e.level++}),a=0;a<l.length;a++)e.tokens.push({type:\"td_open\",align:p[a],level:e.level++}),c=l[a].substring(124===l[a].charCodeAt(0)?1:0,124===l[a].charCodeAt(l[a].length-1)?l[a].length-1:l[a].length).trim(),e.tokens.push({type:\"inline\",content:c,level:e.level,children:[]}),e.tokens.push({type:\"td_close\",level:--e.level});e.tokens.push({type:\"tr_close\",level:--e.level})}return e.tokens.push({type:\"tbody_close\",level:--e.level}),e.tokens.push({type:\"table_close\",level:--e.level}),f[1]=g[1]=u,e.line=u,!0},[\"paragraph\"]],[\"deflist\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d,m,b;if(n)return!(e.ddIndent<0)&&X(e,t)>=0;if(c=t+1,e.isEmpty(c)&&++c>r)return!1;if(e.tShift[c]<e.blkIndent)return!1;if((o=X(e,c))<0)return!1;if(e.level>=e.options.maxNesting)return!1;l=e.tokens.length,e.tokens.push({type:\"dl_open\",lines:u=[t,0],level:e.level++}),i=t,s=c;e:for(;;){for(b=!0,m=!1,e.tokens.push({type:\"dt_open\",lines:[i,i],level:e.level++}),e.tokens.push({type:\"inline\",content:e.getLines(i,i+1,e.blkIndent,!1).trim(),level:e.level+1,lines:[i,i],children:[]}),e.tokens.push({type:\"dt_close\",level:--e.level});;){if(e.tokens.push({type:\"dd_open\",lines:a=[c,0],level:e.level++}),d=e.tight,h=e.ddIndent,p=e.blkIndent,g=e.tShift[s],f=e.parentType,e.blkIndent=e.ddIndent=e.tShift[s]+2,e.tShift[s]=o-e.bMarks[s],e.tight=!0,e.parentType=\"deflist\",e.parser.tokenize(e,s,r,!0),e.tight&&!m||(b=!1),m=e.line-s>1&&e.isEmpty(e.line-1),e.tShift[s]=g,e.tight=d,e.parentType=f,e.blkIndent=p,e.ddIndent=h,e.tokens.push({type:\"dd_close\",level:--e.level}),a[1]=c=e.line,c>=r)break e;if(e.tShift[c]<e.blkIndent)break e;if((o=X(e,c))<0)break;s=c}if(c>=r)break;if(i=c,e.isEmpty(i))break;if(e.tShift[i]<e.blkIndent)break;if((s=i+1)>=r)break;if(e.isEmpty(s)&&s++,s>=r)break;if(e.tShift[s]<e.blkIndent)break;if((o=X(e,s))<0)break}return e.tokens.push({type:\"dl_close\",level:--e.level}),u[1]=c,e.line=c,b&&function(e,t){var r,n,o=e.level+2;for(r=t+2,n=e.tokens.length-2;r<n;r++)e.tokens[r].level===o&&\"paragraph_open\"===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}(e,l),!0},[\"paragraph\"]],[\"paragraph\",function(e,t){var r,n,o,s,i,a,u=t+1;if(u<(r=e.lineMax)&&!e.isEmpty(u))for(a=e.parser.ruler.getRules(\"paragraph\");u<r&&!e.isEmpty(u);u++)if(!(e.tShift[u]-e.blkIndent>3)){for(o=!1,s=0,i=a.length;s<i;s++)if(a[s](e,u,r,!0)){o=!0;break}if(o)break}return n=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,n.length&&(e.tokens.push({type:\"paragraph_open\",tight:!1,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:n,level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"paragraph_close\",tight:!1,level:e.level})),!0}]];function te(){this.ruler=new C;for(var e=0;e<ee.length;e++)this.ruler.push(ee[e][0],ee[e][1],{alt:(ee[e][2]||[]).slice()})}te.prototype.tokenize=function(e,t,r){for(var n,o=this.ruler.getRules(\"\"),s=o.length,i=t,a=!1;i<r&&(e.line=i=e.skipEmptyLines(i),!(i>=r))&&!(e.tShift[i]<e.blkIndent);){for(n=0;n<s&&!o[n](e,i,r,!1);n++);if(e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),(i=e.line)<r&&e.isEmpty(i)){if(a=!0,++i<r&&\"list\"===e.parentType&&e.isEmpty(i))break;e.line=i}}};var re=/[\\n\\t]/g,ne=/\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,oe=/\\u00a0/g;function se(e){switch(e){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}te.prototype.parse=function(e,t,r,n){var o,s=0,i=0;if(!e)return[];(e=(e=e.replace(oe,\" \")).replace(ne,\"\\n\")).indexOf(\"\\t\")>=0&&(e=e.replace(re,function(t,r){var n;return 10===e.charCodeAt(r)?(s=r+1,i=0,t):(n=\" \".slice((r-s-i)%4),i=r-s+1,n)})),o=new $(e,this,t,r,n),this.tokenize(o,o.line,o.lineMax)};for(var ie=[],ae=0;ae<256;ae++)ie.push(0);function ue(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function le(e,t){var r,n,o,s=t,i=!0,a=!0,u=e.posMax,l=e.src.charCodeAt(t);for(r=t>0?e.src.charCodeAt(t-1):-1;s<u&&e.src.charCodeAt(s)===l;)s++;return s>=u&&(i=!1),(o=s-t)>=4?i=a=!1:(32!==(n=s<u?e.src.charCodeAt(s):-1)&&10!==n||(i=!1),32!==r&&10!==r||(a=!1),95===l&&(ue(r)&&(i=!1),ue(n)&&(a=!1))),{can_open:i,can_close:a,delims:o}}\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function(e){ie[e.charCodeAt(0)]=1});var ce=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;var pe=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;var he=[\"coap\",\"doi\",\"javascript\",\"aaa\",\"aaas\",\"about\",\"acap\",\"cap\",\"cid\",\"crid\",\"data\",\"dav\",\"dict\",\"dns\",\"file\",\"ftp\",\"geo\",\"go\",\"gopher\",\"h323\",\"http\",\"https\",\"iax\",\"icap\",\"im\",\"imap\",\"info\",\"ipp\",\"iris\",\"iris.beep\",\"iris.xpc\",\"iris.xpcs\",\"iris.lwz\",\"ldap\",\"mailto\",\"mid\",\"msrp\",\"msrps\",\"mtqp\",\"mupdate\",\"news\",\"nfs\",\"ni\",\"nih\",\"nntp\",\"opaquelocktoken\",\"pop\",\"pres\",\"rtsp\",\"service\",\"session\",\"shttp\",\"sieve\",\"sip\",\"sips\",\"sms\",\"snmp\",\"soap.beep\",\"soap.beeps\",\"tag\",\"tel\",\"telnet\",\"tftp\",\"thismessage\",\"tn3270\",\"tip\",\"tv\",\"urn\",\"vemmi\",\"ws\",\"wss\",\"xcon\",\"xcon-userid\",\"xmlrpc.beep\",\"xmlrpc.beeps\",\"xmpp\",\"z39.50r\",\"z39.50s\",\"adiumxtra\",\"afp\",\"afs\",\"aim\",\"apt\",\"attachment\",\"aw\",\"beshare\",\"bitcoin\",\"bolo\",\"callto\",\"chrome\",\"chrome-extension\",\"com-eventbrite-attendee\",\"content\",\"cvs\",\"dlna-playsingle\",\"dlna-playcontainer\",\"dtn\",\"dvb\",\"ed2k\",\"facetime\",\"feed\",\"finger\",\"fish\",\"gg\",\"git\",\"gizmoproject\",\"gtalk\",\"hcp\",\"icon\",\"ipn\",\"irc\",\"irc6\",\"ircs\",\"itms\",\"jar\",\"jms\",\"keyparc\",\"lastfm\",\"ldaps\",\"magnet\",\"maps\",\"market\",\"message\",\"mms\",\"ms-help\",\"msnim\",\"mumble\",\"mvn\",\"notes\",\"oid\",\"palm\",\"paparazzi\",\"platform\",\"proxy\",\"psyc\",\"query\",\"res\",\"resource\",\"rmi\",\"rsync\",\"rtmp\",\"secondlife\",\"sftp\",\"sgn\",\"skype\",\"smb\",\"soldat\",\"spotify\",\"ssh\",\"steam\",\"svn\",\"teamspeak\",\"things\",\"udp\",\"unreal\",\"ut2004\",\"ventrilo\",\"view-source\",\"webcal\",\"wtai\",\"wyciwyg\",\"xfire\",\"xri\",\"ymsgr\"],fe=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,ge=/^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;function de(e,t){return e=e.source,t=t||\"\",function r(n,o){return n?(o=o.source||o,e=e.replace(n,o),r):new RegExp(e,t)}}var me=de(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\",/[^\"'=<>`\\x00-\\x20]+/)(\"single_quoted\",/'[^']*'/)(\"double_quoted\",/\"[^\"]*\"/)(),be=de(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)(\"attr_value\",me)(),ve=de(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\",be)(),ke=de(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\",ve)(\"close_tag\",/<\\/[A-Za-z][A-Za-z0-9]*\\s*>/)(\"comment\",/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)(\"processing\",/<[?].*?[?]>/)(\"declaration\",/<![A-Z]+\\s+[^>]*>/)(\"cdata\",/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/)();var Ae=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,ye=/^&([a-z][a-z0-9]{1,31});/i;var xe=[[\"text\",function(e,t){for(var r=e.pos;r<e.posMax&&!se(e.src.charCodeAt(r));)r++;return r!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,r)),e.pos=r,!0)}],[\"newline\",function(e,t){var r,n,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;if(r=e.pending.length-1,n=e.posMax,!t)if(r>=0&&32===e.pending.charCodeAt(r))if(r>=1&&32===e.pending.charCodeAt(r-1)){for(var s=r-2;s>=0;s--)if(32!==e.pending.charCodeAt(s)){e.pending=e.pending.substring(0,s+1);break}e.push({type:\"hardbreak\",level:e.level})}else e.pending=e.pending.slice(0,-1),e.push({type:\"softbreak\",level:e.level});else e.push({type:\"softbreak\",level:e.level});for(o++;o<n&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}],[\"escape\",function(e,t){var r,n=e.pos,o=e.posMax;if(92!==e.src.charCodeAt(n))return!1;if(++n<o){if((r=e.src.charCodeAt(n))<256&&0!==ie[r])return t||(e.pending+=e.src[n]),e.pos+=2,!0;if(10===r){for(t||e.push({type:\"hardbreak\",level:e.level}),n++;n<o&&32===e.src.charCodeAt(n);)n++;return e.pos=n,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}],[\"backticks\",function(e,t){var r,n,o,s,i,a=e.pos;if(96!==e.src.charCodeAt(a))return!1;for(r=a,a++,n=e.posMax;a<n&&96===e.src.charCodeAt(a);)a++;for(o=e.src.slice(r,a),s=i=a;-1!==(s=e.src.indexOf(\"`\",i));){for(i=s+1;i<n&&96===e.src.charCodeAt(i);)i++;if(i-s===o.length)return t||e.push({type:\"code\",content:e.src.slice(a,s).replace(/[ \\n]+/g,\" \").trim(),block:!1,level:e.level}),e.pos=i,!0}return t||(e.pending+=o),e.pos+=o.length,!0}],[\"del\",function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(126!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=a)return!1;if(126!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=u>0?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),126===s)return!1;if(126===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&126===e.src.charCodeAt(n);)n++;if(n>u+3)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(126===e.src.charCodeAt(e.pos)&&126===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),126!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&126!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"del_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"del_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],[\"ins\",function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(43!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=a)return!1;if(43!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=u>0?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),43===s)return!1;if(43===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&43===e.src.charCodeAt(n);)n++;if(n!==u+2)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(43===e.src.charCodeAt(e.pos)&&43===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),43!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&43!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"ins_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"ins_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],[\"mark\",function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(61!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=a)return!1;if(61!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=u>0?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),61===s)return!1;if(61===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&61===e.src.charCodeAt(n);)n++;if(n!==u+2)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(61===e.src.charCodeAt(e.pos)&&61===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),61!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&61!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"mark_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"mark_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],[\"emphasis\",function(e,t){var r,n,o,s,i,a,u,l=e.posMax,c=e.pos,p=e.src.charCodeAt(c);if(95!==p&&42!==p)return!1;if(t)return!1;if(r=(u=le(e,c)).delims,!u.can_open)return e.pos+=r,t||(e.pending+=e.src.slice(c,e.pos)),!0;if(e.level>=e.options.maxNesting)return!1;for(e.pos=c+r,a=[r];e.pos<l;)if(e.src.charCodeAt(e.pos)!==p)e.parser.skipToken(e);else{if(n=(u=le(e,e.pos)).delims,u.can_close){for(s=a.pop(),i=n;s!==i;){if(i<s){a.push(s-i);break}if(i-=s,0===a.length)break;e.pos+=s,s=a.pop()}if(0===a.length){r=s,o=!0;break}e.pos+=n;continue}u.can_open&&a.push(n),e.pos+=n}return o?(e.posMax=e.pos,e.pos=c+r,t||(2!==r&&3!==r||e.push({type:\"strong_open\",level:e.level++}),1!==r&&3!==r||e.push({type:\"em_open\",level:e.level++}),e.parser.tokenize(e),1!==r&&3!==r||e.push({type:\"em_close\",level:--e.level}),2!==r&&3!==r||e.push({type:\"strong_close\",level:--e.level})),e.pos=e.posMax+r,e.posMax=l,!0):(e.pos=c,!1)}],[\"sub\",function(e,t){var r,n,o=e.posMax,s=e.pos;if(126!==e.src.charCodeAt(s))return!1;if(t)return!1;if(s+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=s+1;e.pos<o;){if(126===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return r&&s+1!==e.pos?(n=e.src.slice(s+1,e.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,t||e.push({type:\"sub\",level:e.level,content:n.replace(ce,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0):(e.pos=s,!1)}],[\"sup\",function(e,t){var r,n,o=e.posMax,s=e.pos;if(94!==e.src.charCodeAt(s))return!1;if(t)return!1;if(s+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=s+1;e.pos<o;){if(94===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return r&&s+1!==e.pos?(n=e.src.slice(s+1,e.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,t||e.push({type:\"sup\",level:e.level,content:n.replace(pe,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0):(e.pos=s,!1)}],[\"links\",function(e,t){var r,n,o,s,i,a,u,l,c=!1,p=e.pos,h=e.posMax,f=e.pos,g=e.src.charCodeAt(f);if(33===g&&(c=!0,g=e.src.charCodeAt(++f)),91!==g)return!1;if(e.level>=e.options.maxNesting)return!1;if(r=f+1,(n=D(e,f))<0)return!1;if((a=n+1)<h&&40===e.src.charCodeAt(a)){for(a++;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);if(a>=h)return!1;for(f=a,q(e,a)?(s=e.linkContent,a=e.pos):s=\"\",f=a;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);if(a<h&&f!==a&&F(e,a))for(i=e.linkContent,a=e.pos;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);else i=\"\";if(a>=h||41!==e.src.charCodeAt(a))return e.pos=p,!1;a++}else{if(e.linkLevel>0)return!1;for(;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);if(a<h&&91===e.src.charCodeAt(a)&&(f=a+1,(a=D(e,a))>=0?o=e.src.slice(f,a++):a=f-1),o||(void 0===o&&(a=n+1),o=e.src.slice(r,n)),!(u=e.env.references[M(o)]))return e.pos=p,!1;s=u.href,i=u.title}return t||(e.pos=r,e.posMax=n,c?e.push({type:\"image\",src:s,title:i,alt:e.src.substr(r,n-r),level:e.level}):(e.push({type:\"link_open\",href:s,title:i,level:e.level++}),e.linkLevel++,e.parser.tokenize(e),e.linkLevel--,e.push({type:\"link_close\",level:--e.level}))),e.pos=a,e.posMax=h,!0}],[\"footnote_inline\",function(e,t){var r,n,o,s,i=e.posMax,a=e.pos;return!(a+2>=i||94!==e.src.charCodeAt(a)||91!==e.src.charCodeAt(a+1)||e.level>=e.options.maxNesting||(r=a+2,(n=D(e,a+1))<0||(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),o=e.env.footnotes.list.length,e.pos=r,e.posMax=n,e.push({type:\"footnote_ref\",id:o,level:e.level}),e.linkLevel++,s=e.tokens.length,e.parser.tokenize(e),e.env.footnotes.list[o]={tokens:e.tokens.splice(s)},e.linkLevel--),e.pos=n+1,e.posMax=i,0)))}],[\"footnote_ref\",function(e,t){var r,n,o,s,i=e.posMax,a=e.pos;if(a+3>i)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(a))return!1;if(94!==e.src.charCodeAt(a+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(n=a+2;n<i;n++){if(32===e.src.charCodeAt(n))return!1;if(10===e.src.charCodeAt(n))return!1;if(93===e.src.charCodeAt(n))break}return!(n===a+2||n>=i||(n++,r=e.src.slice(a+2,n-1),void 0===e.env.footnotes.refs[\":\"+r]||(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[\":\"+r]<0?(o=e.env.footnotes.list.length,e.env.footnotes.list[o]={label:r,count:0},e.env.footnotes.refs[\":\"+r]=o):o=e.env.footnotes.refs[\":\"+r],s=e.env.footnotes.list[o].count,e.env.footnotes.list[o].count++,e.push({type:\"footnote_ref\",id:o,subId:s,level:e.level})),e.pos=n,e.posMax=i,0)))}],[\"autolink\",function(e,t){var r,n,o,s,i,a=e.pos;return!(60!==e.src.charCodeAt(a)||(r=e.src.slice(a)).indexOf(\">\")<0||((n=r.match(ge))?he.indexOf(n[1].toLowerCase())<0||(i=B(s=n[0].slice(1,-1)),!e.parser.validateLink(s)||(t||(e.push({type:\"link_open\",href:i,level:e.level}),e.push({type:\"text\",content:s,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=n[0].length,0)):!(o=r.match(fe))||(i=B(\"mailto:\"+(s=o[0].slice(1,-1))),!e.parser.validateLink(i)||(t||(e.push({type:\"link_open\",href:i,level:e.level}),e.push({type:\"text\",content:s,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=o[0].length,0))))}],[\"htmltag\",function(e,t){var r,n,o,s=e.pos;return!(!e.options.html||(o=e.posMax,60!==e.src.charCodeAt(s)||s+2>=o||33!==(r=e.src.charCodeAt(s+1))&&63!==r&&47!==r&&!function(e){var t=32|e;return t>=97&&t<=122}(r)||!(n=e.src.slice(s).match(ke))||(t||e.push({type:\"htmltag\",content:e.src.slice(s,s+n[0].length),level:e.level}),e.pos+=n[0].length,0)))}],[\"entity\",function(e,t){var r,o,s=e.pos,i=e.posMax;if(38!==e.src.charCodeAt(s))return!1;if(s+1<i)if(35===e.src.charCodeAt(s+1)){if(o=e.src.slice(s).match(Ae))return t||(r=\"x\"===o[1][0].toLowerCase()?parseInt(o[1].slice(1),16):parseInt(o[1],10),e.pending+=l(r)?c(r):c(65533)),e.pos+=o[0].length,!0}else if(o=e.src.slice(s).match(ye)){var a=n(o[1]);if(o[1]!==a)return t||(e.pending+=a),e.pos+=o[0].length,!0}return t||(e.pending+=\"&\"),e.pos++,!0}]];function we(){this.ruler=new C;for(var e=0;e<xe.length;e++)this.ruler.push(xe[e][0],xe[e][1]);this.validateLink=Ce}function Ce(e){var t=e.trim().toLowerCase();return-1===(t=g(t)).indexOf(\":\")||-1===[\"vbscript\",\"javascript\",\"file\",\"data\"].indexOf(t.split(\":\")[0])}we.prototype.skipToken=function(e){var t,r,n=this.ruler.getRules(\"\"),o=n.length,s=e.pos;if((r=e.cacheGet(s))>0)e.pos=r;else{for(t=0;t<o;t++)if(n[t](e,!0))return void e.cacheSet(s,e.pos);e.pos++,e.cacheSet(s,e.pos)}},we.prototype.tokenize=function(e){for(var t,r,n=this.ruler.getRules(\"\"),o=n.length,s=e.posMax;e.pos<s;){for(r=0;r<o&&!(t=n[r](e,!1));r++);if(t){if(e.pos>=s)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},we.prototype.parse=function(e,t,r,n){var o=new E(e,this,t,r,n);this.tokenize(o)};var Ee={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"replacements\",\"smartquotes\",\"references\",\"abbr2\",\"footnote_tail\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"footnote\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\",\"table\"]},inline:{rules:[\"autolink\",\"backticks\",\"del\",\"emphasis\",\"entity\",\"escape\",\"footnote_ref\",\"htmltag\",\"links\",\"newline\",\"text\"]}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"abbr2\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}};function De(e,t,r){this.src=t,this.env=r,this.options=e.options,this.tokens=[],this.inlineMode=!1,this.inline=e.inline,this.block=e.block,this.renderer=e.renderer,this.typographer=e.typographer}function _e(e,t){\"string\"!=typeof e&&(t=e,e=\"default\"),t&&null!=t.linkify&&console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"),this.inline=new we,this.block=new te,this.core=new G,this.renderer=new w,this.ruler=new C,this.options={},this.configure(Ee[e]),this.set(t||{})}function Be(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}function qe(e,t){for(var r=e.length-1;r>=0;r--)!0===t(e[r])&&e.splice(r,1)}function Fe(e){throw new Error(\"Unhandled case for value: '\"+e+\"'\")}_e.prototype.set=function(e){i(this.options,e)},_e.prototype.configure=function(e){var t=this;if(!e)throw new Error(\"Wrong `remarkable` preset, check name/content\");e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(r){e.components[r].rules&&t[r].ruler.enable(e.components[r].rules,!0)})},_e.prototype.use=function(e,t){return e(this,t),this},_e.prototype.parse=function(e,t){var r=new De(this,e,t);return this.core.process(r),r.tokens},_e.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},_e.prototype.parseInline=function(e,t){var r=new De(this,e,t);return r.inlineMode=!0,this.core.process(r),r.tokens},_e.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var Me=function(){function e(e){void 0===e&&(e={}),this.tagName=\"\",this.attrs={},this.innerHTML=\"\",this.whitespaceRegex=/\\s+/,this.tagName=e.tagName||\"\",this.attrs=e.attrs||{},this.innerHTML=e.innerHtml||e.innerHTML||\"\"}return e.prototype.setTagName=function(e){return this.tagName=e,this},e.prototype.getTagName=function(){return this.tagName||\"\"},e.prototype.setAttr=function(e,t){return this.getAttrs()[e]=t,this},e.prototype.getAttr=function(e){return this.getAttrs()[e]},e.prototype.setAttrs=function(e){return Object.assign(this.getAttrs(),e),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(e){return this.setAttr(\"class\",e)},e.prototype.addClass=function(e){for(var t,r=this.getClass(),n=this.whitespaceRegex,o=r?r.split(n):[],s=e.split(n);t=s.shift();)-1===Be(o,t)&&o.push(t);return this.getAttrs().class=o.join(\" \"),this},e.prototype.removeClass=function(e){for(var t,r=this.getClass(),n=this.whitespaceRegex,o=r?r.split(n):[],s=e.split(n);o.length&&(t=s.shift());){var i=Be(o,t);-1!==i&&o.splice(i,1)}return this.getAttrs().class=o.join(\" \"),this},e.prototype.getClass=function(){return this.getAttrs().class||\"\"},e.prototype.hasClass=function(e){return-1!==(\" \"+this.getClass()+\" \").indexOf(\" \"+e+\" \")},e.prototype.setInnerHTML=function(e){return this.innerHTML=e,this},e.prototype.setInnerHtml=function(e){return this.setInnerHTML(e)},e.prototype.getInnerHTML=function(){return this.innerHTML||\"\"},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var e=this.getTagName(),t=this.buildAttrsStr();return[\"<\",e,t=t?\" \"+t:\"\",\">\",this.getInnerHtml(),\"</\",e,\">\"].join(\"\")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return\"\";var e=this.getAttrs(),t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(r+'=\"'+e[r]+'\"');return t.join(\" \")},e}();var Se=function(){function e(e){void 0===e&&(e={}),this.newWindow=!1,this.truncate={},this.className=\"\",this.newWindow=e.newWindow||!1,this.truncate=e.truncate||{},this.className=e.className||\"\"}return e.prototype.build=function(e){return new Me({tagName:\"a\",attrs:this.createAttrs(e),innerHtml:this.processAnchorText(e.getAnchorText())})},e.prototype.createAttrs=function(e){var t={href:e.getAnchorHref()},r=this.createCssClass(e);return r&&(t.class=r),this.newWindow&&(t.target=\"_blank\",t.rel=\"noopener noreferrer\"),this.truncate&&this.truncate.length&&this.truncate.length<e.getAnchorText().length&&(t.title=e.getAnchorHref()),t},e.prototype.createCssClass=function(e){var t=this.className;if(t){for(var r=[t],n=e.getCssClassSuffixes(),o=0,s=n.length;o<s;o++)r.push(t+\"-\"+n[o]);return r.join(\" \")}return\"\"},e.prototype.processAnchorText=function(e){return e=this.doTruncate(e)},e.prototype.doTruncate=function(e){var t=this.truncate;if(!t||!t.length)return e;var r=t.length,n=t.location;return\"smart\"===n?function(e,t,r){var n,o;null==r?(r=\"…\",o=3,n=8):(o=r.length,n=r.length);var s=function(e){var t=\"\";return e.scheme&&e.host&&(t+=e.scheme+\"://\"),e.host&&(t+=e.host),e.path&&(t+=\"/\"+e.path),e.query&&(t+=\"?\"+e.query),e.fragment&&(t+=\"#\"+e.fragment),t},i=function(e,t){var n=t/2,o=Math.ceil(n),s=-1*Math.floor(n),i=\"\";return s<0&&(i=e.substr(s)),e.substr(0,o)+r+i};if(e.length<=t)return e;var a=t-o,u=function(e){var t={},r=e,n=r.match(/^([a-z]+):\\/\\//i);return n&&(t.scheme=n[1],r=r.substr(n[0].length)),(n=r.match(/^(.*?)(?=(\\?|#|\\/|$))/i))&&(t.host=n[1],r=r.substr(n[0].length)),(n=r.match(/^\\/(.*?)(?=(\\?|#|$))/i))&&(t.path=n[1],r=r.substr(n[0].length)),(n=r.match(/^\\?(.*?)(?=(#|$))/i))&&(t.query=n[1],r=r.substr(n[0].length)),(n=r.match(/^#(.*?)$/i))&&(t.fragment=n[1]),t}(e);if(u.query){var l=u.query.match(/^(.*?)(?=(\\?|\\#))(.*?)$/i);l&&(u.query=u.query.substr(0,l[1].length),e=s(u))}if(e.length<=t)return e;if(u.host&&(u.host=u.host.replace(/^www\\./,\"\"),e=s(u)),e.length<=t)return e;var c=\"\";if(u.host&&(c+=u.host),c.length>=a)return u.host.length==t?(u.host.substr(0,t-o)+r).substr(0,a+n):i(c,a).substr(0,a+n);var p=\"\";if(u.path&&(p+=\"/\"+u.path),u.query&&(p+=\"?\"+u.query),p){if((c+p).length>=a)return(c+p).length==t?(c+p).substr(0,t):(c+i(p,a-c.length)).substr(0,a+n);c+=p}if(u.fragment){var h=\"#\"+u.fragment;if((c+h).length>=a)return(c+h).length==t?(c+h).substr(0,t):(c+i(h,a-c.length)).substr(0,a+n);c+=h}if(u.scheme&&u.host){var f=u.scheme+\"://\";if((c+f).length<a)return(f+c).substr(0,t)}if(c.length<=t)return c;var g=\"\";return a>0&&(g=c.substr(-1*Math.floor(a/2))),(c.substr(0,Math.ceil(a/2))+r+g).substr(0,a+n)}(e,r):\"middle\"===n?function(e,t,r){if(e.length<=t)return e;var n,o;null==r?(r=\"…\",n=8,o=3):(n=r.length,o=r.length);var s=t-o,i=\"\";return s>0&&(i=e.substr(-1*Math.floor(s/2))),(e.substr(0,Math.ceil(s/2))+r+i).substr(0,s+n)}(e,r):function(e,t,r){return function(e,t,r){var n;return e.length>t&&(null==r?(r=\"…\",n=3):n=r.length,e=e.substring(0,t-n)+r),e}(e,t,r)}(e,r)},e}(),Te=function(){function e(e){this.__jsduckDummyDocProp=null,this.matchedText=\"\",this.offset=0,this.tagBuilder=e.tagBuilder,this.matchedText=e.matchedText,this.offset=e.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(e){this.offset=e},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.getType()]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}(),Le=function(e,t){return(Le=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function Re(e,t){function r(){this.constructor=e}Le(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var Ne=function(){return(Ne=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},ze=function(e){function t(t){var r=e.call(this,t)||this;return r.email=\"\",r.email=t.email,r}return Re(t,e),t.prototype.getType=function(){return\"email\"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return\"mailto:\"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(Te),Pe=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"\",r.hashtag=\"\",r.serviceName=t.serviceName,r.hashtag=t.hashtag,r}return Re(t,e),t.prototype.getType=function(){return\"hashtag\"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var e=this.serviceName,t=this.hashtag;switch(e){case\"twitter\":return\"https://twitter.com/hashtag/\"+t;case\"facebook\":return\"https://www.facebook.com/hashtag/\"+t;case\"instagram\":return\"https://instagram.com/explore/tags/\"+t;default:throw new Error(\"Unknown service name to point hashtag to: \"+e)}},t.prototype.getAnchorText=function(){return\"#\"+this.hashtag},t}(Te),je=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"twitter\",r.mention=\"\",r.mention=t.mention,r.serviceName=t.serviceName,r}return Re(t,e),t.prototype.getType=function(){return\"mention\"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case\"twitter\":return\"https://twitter.com/\"+this.mention;case\"instagram\":return\"https://instagram.com/\"+this.mention;case\"soundcloud\":return\"https://soundcloud.com/\"+this.mention;default:throw new Error(\"Unknown service name to point mention to: \"+this.serviceName)}},t.prototype.getAnchorText=function(){return\"@\"+this.mention},t.prototype.getCssClassSuffixes=function(){var t=e.prototype.getCssClassSuffixes.call(this),r=this.getServiceName();return r&&t.push(r),t},t}(Te),Ie=function(e){function t(t){var r=e.call(this,t)||this;return r.number=\"\",r.plusSign=!1,r.number=t.number,r.plusSign=t.plusSign,r}return Re(t,e),t.prototype.getType=function(){return\"phone\"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return\"tel:\"+(this.plusSign?\"+\":\"\")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(Te),Oe=function(e){function t(t){var r=e.call(this,t)||this;return r.url=\"\",r.urlMatchType=\"scheme\",r.protocolUrlMatch=!1,r.protocolRelativeMatch=!1,r.stripPrefix={scheme:!0,www:!0},r.stripTrailingSlash=!0,r.decodePercentEncoding=!0,r.schemePrefixRegex=/^(https?:\\/\\/)?/i,r.wwwPrefixRegex=/^(https?:\\/\\/)?(www\\.)?/i,r.protocolRelativeRegex=/^\\/\\//,r.protocolPrepended=!1,r.urlMatchType=t.urlMatchType,r.url=t.url,r.protocolUrlMatch=t.protocolUrlMatch,r.protocolRelativeMatch=t.protocolRelativeMatch,r.stripPrefix=t.stripPrefix,r.stripTrailingSlash=t.stripTrailingSlash,r.decodePercentEncoding=t.decodePercentEncoding,r}return Re(t,e),t.prototype.getType=function(){return\"url\"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url=\"http://\"+e,this.protocolPrepended=!0),e},t.prototype.getAnchorHref=function(){return this.getUrl().replace(/&/g,\"&\")},t.prototype.getAnchorText=function(){var e=this.getMatchedText();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix.scheme&&(e=this.stripSchemePrefix(e)),this.stripPrefix.www&&(e=this.stripWwwPrefix(e)),this.stripTrailingSlash&&(e=this.removeTrailingSlash(e)),this.decodePercentEncoding&&(e=this.removePercentEncoding(e)),e},t.prototype.stripSchemePrefix=function(e){return e.replace(this.schemePrefixRegex,\"\")},t.prototype.stripWwwPrefix=function(e){return e.replace(this.wwwPrefixRegex,\"$1\")},t.prototype.stripProtocolRelativePrefix=function(e){return e.replace(this.protocolRelativeRegex,\"\")},t.prototype.removeTrailingSlash=function(e){return\"/\"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e},t.prototype.removePercentEncoding=function(e){var t=e.replace(/%22/gi,\""\").replace(/%26/gi,\"&\").replace(/%27/gi,\"'\").replace(/%3C/gi,\"<\").replace(/%3E/gi,\">\");try{return decodeURIComponent(t)}catch(e){return t}},t}(Te),Ue=function(e){this.__jsduckDummyDocProp=null,this.tagBuilder=e.tagBuilder},He=/[A-Za-z]/,Ve=/[0-9]/,Ge=/\\s/,$e=/['\"]/,Ze=/[\\x00-\\x1F\\x7F]/,We=/A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC/.source,Je=We+/\\u00a9\\u00ae\\u2000-\\u3300\\ud83c\\ud000-\\udfff\\ud83d\\ud000-\\udfff\\ud83e\\ud000-\\udfff/.source+/\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F/.source,Ye=/0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19/.source,Ke=Je+Ye,Qe=Je+Ye,Xe=\"(?:[\"+Ye+\"]{1,3}\\\\.){3}[\"+Ye+\"]{1,3}\",et=\"[\"+Qe+\"](?:[\"+Qe+\"\\\\-]{0,61}[\"+Qe+\"])?\",tt=function(e){return\"(?=(\"+et+\"))\\\\\"+e},rt=function(e){return\"(?:\"+tt(e)+\"(?:\\\\.\"+tt(e+1)+\"){0,126}|\"+Xe+\")\"},nt=new RegExp(\"[\"+Qe+\"]\"),ot=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|rightathome|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pbt977c|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|newholland|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|telefonica|university|vistaprint|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|honeywell|institute|insurance|kuokgroup|ladbrokes|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--tckwe|xn--vhquv|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|chrysler|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|esurance|etisalat|everbank|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|movistar|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|symantec|training|uconnect|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|cartier|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|iselect|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lancome|lanxess|lasalle|latrobe|leclerc|liaison|limited|lincoln|markets|metlife|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|shriram|singles|staples|starhub|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|الجزائر|العليان|پاکستان|كاثوليك|موبايلي|இந்தியா|abarth|abbott|abbvie|active|africa|agency|airbus|airtel|alipay|alsace|alstom|anquan|aramco|author|bayern|beauty|berlin|bharti|blanco|bostik|boston|broker|camera|career|caseih|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|mobily|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|piaget|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|warman|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|dodge|drive|dubai|earth|edeka|email|epost|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|intel|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|lupin|macys|mango|media|miami|money|mopar|movie|nadex|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|zippo|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|aigo|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|doha|duck|duns|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scor|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|グーグル|クラウド|ポイント|大众汽车|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bnl|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceb|ceo|cfa|cfd|com|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jcp|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|srl|srt|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ストア|セール|みんな|中文网|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|工行|广东|微博|慈善|手机|手表|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|珠宝|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,st=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.localPartCharRegex=new RegExp(\"[\"+Qe+\"!#$%&'*+/=?^_`{|}~-]\"),t.strictTldRegex=new RegExp(\"^\"+ot.source+\"$\"),t}return Re(t,e),t.prototype.parseMatches=function(e){for(var t=this.tagBuilder,r=this.localPartCharRegex,n=this.strictTldRegex,o=[],s=e.length,i=new it,a={m:\"a\",a:\"i\",i:\"l\",l:\"t\",t:\"o\",o:\":\"},u=0,l=0,c=i;u<s;){var p=e.charAt(u);switch(l){case 0:h(p);break;case 1:f(e.charAt(u-1),p);break;case 2:g(p);break;case 3:d(p);break;case 4:m(p);break;case 5:b(p);break;case 6:v(p);break;case 7:k(p);break;default:Fe(l)}u++}return x(),o;function h(e){\"m\"===e?A(1):r.test(e)&&A()}function f(e,t){\":\"===e?r.test(t)?(l=2,c=new it(Ne({},c,{hasMailtoPrefix:!0}))):y():a[e]===t||(r.test(t)?l=2:\".\"===t?l=3:\"@\"===t?l=4:y())}function g(e){\".\"===e?l=3:\"@\"===e?l=4:r.test(e)||y()}function d(e){\".\"===e?y():\"@\"===e?y():r.test(e)?l=2:y()}function m(e){nt.test(e)?l=5:y()}function b(e){\".\"===e?l=7:\"-\"===e?l=6:nt.test(e)||x()}function v(e){\"-\"===e||\".\"===e?x():nt.test(e)?l=5:x()}function k(e){\".\"===e||\"-\"===e?x():nt.test(e)?(l=5,c=new it(Ne({},c,{hasDomainDot:!0}))):x()}function A(e){void 0===e&&(e=2),l=e,c=new it({idx:u})}function y(){l=0,c=i}function x(){if(c.hasDomainDot){var r=e.slice(c.idx,u);/[-.]$/.test(r)&&(r=r.slice(0,-1));var s=c.hasMailtoPrefix?r.slice(\"mailto:\".length):r;(function(e){var t=(e.split(\".\").pop()||\"\").toLowerCase();return n.test(t)})(s)&&o.push(new ze({tagBuilder:t,matchedText:r,offset:c.idx,email:s}))}y()}},t}(Ue),it=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.hasMailtoPrefix=!!e.hasMailtoPrefix,this.hasDomainDot=!!e.hasDomainDot},at=function(){function e(){}return e.isValid=function(e,t){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)&&!this.isValidIpAddress(e)||this.containsMultipleDots(e))},e.isValidIpAddress=function(e){var t=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==e.match(t)},e.containsMultipleDots=function(e){var t=e;return this.hasFullProtocolRegex.test(e)&&(t=e.split(\"://\")[1]),t.split(\"/\")[0].indexOf(\"..\")>-1},e.isValidUriScheme=function(e){var t=e.match(this.uriSchemeRegex),r=t&&t[0].toLowerCase();return\"javascript:\"!==r&&\"vbscript:\"!==r},e.urlMatchDoesNotHaveProtocolOrDot=function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf(\".\"))},e.urlMatchDoesNotHaveAtLeastOneWordChar=function(e,t){return!(!e||!t)&&!this.hasWordCharAfterProtocolRegex.test(e)},e.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\\/\\//,e.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,e.hasWordCharAfterProtocolRegex=new RegExp(\":[^\\\\s]*?[\"+We+\"]\"),e.ipRegex=/[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?(:[0-9]*)?\\/?$/,e}(),ut=function(e){function t(t){var r,n=e.call(this,t)||this;return n.stripPrefix={scheme:!0,www:!0},n.stripTrailingSlash=!0,n.decodePercentEncoding=!0,n.matcherRegex=(r=new RegExp(\"[/?#](?:[\"+Qe+\"\\\\-+&@#/%=~_()|'$*\\\\[\\\\]?!:,.;✓]*[\"+Qe+\"\\\\-+&@#/%=~_()|'$*\\\\[\\\\]✓])?\"),new RegExp([\"(?:\",\"(\",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/.source,rt(2),\")\",\"|\",\"(\",\"(//)?\",/(?:www\\.)/.source,rt(6),\")\",\"|\",\"(\",\"(//)?\",rt(10)+\"\\\\.\",ot.source,\"(?![-\"+Ke+\"])\",\")\",\")\",\"(?::[0-9]+)?\",\"(?:\"+r.source+\")?\"].join(\"\"),\"gi\")),n.wordCharRegExp=new RegExp(\"[\"+Qe+\"]\"),n.stripPrefix=t.stripPrefix,n.stripTrailingSlash=t.stripTrailingSlash,n.decodePercentEncoding=t.decodePercentEncoding,n}return Re(t,e),t.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.stripPrefix,o=this.stripTrailingSlash,s=this.decodePercentEncoding,i=this.tagBuilder,a=[],u=function(){var r=t[0],u=t[1],c=t[4],p=t[5],h=t[9],f=t.index,g=p||h,d=e.charAt(f-1);if(!at.isValid(r,u))return\"continue\";if(f>0&&\"@\"===d)return\"continue\";if(f>0&&g&&l.wordCharRegExp.test(d))return\"continue\";if(/\\?$/.test(r)&&(r=r.substr(0,r.length-1)),l.matchHasUnbalancedClosingParen(r))r=r.substr(0,r.length-1);else{var m=l.matchHasInvalidCharAfterTld(r,u);m>-1&&(r=r.substr(0,m))}var b=[\"http://\",\"https://\"].find(function(e){return!!u&&-1!==u.indexOf(e)});if(b){var v=r.indexOf(b);r=r.substr(v),u=u.substr(v),f+=v}var k=u?\"scheme\":c?\"www\":\"tld\",A=!!u;a.push(new Oe({tagBuilder:i,matchedText:r,offset:f,urlMatchType:k,url:r,protocolUrlMatch:A,protocolRelativeMatch:!!g,stripPrefix:n,stripTrailingSlash:o,decodePercentEncoding:s}))},l=this;null!==(t=r.exec(e));)u();return a},t.prototype.matchHasUnbalancedClosingParen=function(e){var t,r=e.charAt(e.length-1);if(\")\"===r)t=\"(\";else{if(\"]\"!==r)return!1;t=\"[\"}for(var n=0,o=0,s=e.length-1;o<s;o++){var i=e.charAt(o);i===t?n++:i===r&&(n=Math.max(n-1,0))}return 0===n},t.prototype.matchHasInvalidCharAfterTld=function(e,t){if(!e)return-1;var r=0;t&&(r=e.indexOf(\":\"),e=e.slice(r));var n=new RegExp(\"^((.?//)?[-.\"+Qe+\"]*[-\"+Qe+\"]\\\\.[-\"+Qe+\"]+)\").exec(e);return null===n?-1:(r+=n[1].length,e=e.slice(n[1].length),/^[^-.A-Za-z0-9:\\/?#]/.test(e)?r:-1)},t}(Ue),lt=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"twitter\",r.matcherRegex=new RegExp(\"#[_\"+Qe+\"]{1,139}(?![_\"+Qe+\"])\",\"g\"),r.nonWordCharRegex=new RegExp(\"[^\"+Qe+\"]\"),r.serviceName=t.serviceName,r}return Re(t,e),t.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.nonWordCharRegex,o=this.serviceName,s=this.tagBuilder,i=[];null!==(t=r.exec(e));){var a=t.index,u=e.charAt(a-1);if(0===a||n.test(u)){var l=t[0],c=t[0].slice(1);i.push(new Pe({tagBuilder:s,matchedText:l,offset:a,serviceName:o,hashtag:c}))}}return i},t}(Ue),ct=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.matcherRegex=/(?:(?:(?:(\\+)?\\d{1,3}[-\\040.]?)?\\(?\\d{3}\\)?[-\\040.]?\\d{3}[-\\040.]?\\d{4})|(?:(\\+)(?:9[976]\\d|8[987530]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[98654321]\\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\\040.]?(?:\\d[-\\040.]?){6,12}\\d+))([,;]+[0-9]+#?)*/g,t}return Re(t,e),t.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.tagBuilder,o=[];null!==(t=r.exec(e));){var s=t[0],i=s.replace(/[^0-9,;#]/g,\"\"),a=!(!t[1]&&!t[2]),u=0==t.index?\"\":e.substr(t.index-1,1),l=e.substr(t.index+s.length,1),c=!u.match(/\\d/)&&!l.match(/\\d/);this.testMatch(t[3])&&this.testMatch(s)&&c&&o.push(new Ie({tagBuilder:n,matchedText:s,offset:t.index,number:i,plusSign:a}))}return o},t.prototype.testMatch=function(e){return/\\D/.test(e)},t}(Ue),pt=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"twitter\",r.matcherRegexes={twitter:new RegExp(\"@[_\"+Qe+\"]{1,50}(?![_\"+Qe+\"])\",\"g\"),instagram:new RegExp(\"@[_.\"+Qe+\"]{1,30}(?![_\"+Qe+\"])\",\"g\"),soundcloud:new RegExp(\"@[-_.\"+Qe+\"]{1,50}(?![-_\"+Qe+\"])\",\"g\")},r.nonWordCharRegex=new RegExp(\"[^\"+Qe+\"]\"),r.serviceName=t.serviceName,r}return Re(t,e),t.prototype.parseMatches=function(e){var t,r=this.serviceName,n=this.matcherRegexes[this.serviceName],o=this.nonWordCharRegex,s=this.tagBuilder,i=[];if(!n)return i;for(;null!==(t=n.exec(e));){var a=t.index,u=e.charAt(a-1);if(0===a||o.test(u)){var l=t[0].replace(/\\.+$/g,\"\"),c=l.slice(1);i.push(new je({tagBuilder:s,matchedText:l,offset:a,serviceName:r,mention:c}))}}return i},t}(Ue);function ht(e,t){for(var r=t.onOpenTag,n=t.onCloseTag,o=t.onText,s=t.onComment,i=t.onDoctype,a=new ft,u=0,l=e.length,c=0,p=0,h=a;u<l;){var f=e.charAt(u);switch(c){case 0:g(f);break;case 1:d(f);break;case 2:b(f);break;case 3:m(f);break;case 4:v(f);break;case 5:k(f);break;case 6:A(f);break;case 7:y(f);break;case 8:x(f);break;case 9:w(f);break;case 10:C(f);break;case 11:E(f);break;case 12:D(f);break;case 13:_();break;case 14:B(f);break;case 15:q(f);break;case 16:F(f);break;case 17:M(f);break;case 18:S(f);break;case 19:T(f);break;case 20:L(f);break;default:Fe(c)}u++}function g(e){\"<\"===e&&N()}function d(e){\"!\"===e?c=13:\"/\"===e?(c=2,h=new ft(Ne({},h,{isClosing:!0}))):\"<\"===e?N():He.test(e)?(c=3,h=new ft(Ne({},h,{isOpening:!0}))):(c=0,h=a)}function m(e){Ge.test(e)?(h=new ft(Ne({},h,{name:P()})),c=4):\"<\"===e?N():\"/\"===e?(h=new ft(Ne({},h,{name:P()})),c=12):\">\"===e?(h=new ft(Ne({},h,{name:P()})),z()):He.test(e)||Ve.test(e)||\":\"===e||R()}function b(e){\">\"===e?R():He.test(e)?c=3:R()}function v(e){Ge.test(e)||(\"/\"===e?c=12:\">\"===e?z():\"<\"===e?N():\"=\"===e||$e.test(e)||Ze.test(e)?R():c=5)}function k(e){Ge.test(e)?c=6:\"/\"===e?c=12:\"=\"===e?c=7:\">\"===e?z():\"<\"===e?N():$e.test(e)&&R()}function A(e){Ge.test(e)||(\"/\"===e?c=12:\"=\"===e?c=7:\">\"===e?z():\"<\"===e?N():$e.test(e)?R():c=5)}function y(e){Ge.test(e)||('\"'===e?c=8:\"'\"===e?c=9:/[>=`]/.test(e)?R():\"<\"===e?N():c=10)}function x(e){'\"'===e&&(c=11)}function w(e){\"'\"===e&&(c=11)}function C(e){Ge.test(e)?c=4:\">\"===e?z():\"<\"===e&&N()}function E(e){Ge.test(e)?c=4:\"/\"===e?c=12:\">\"===e?z():\"<\"===e?N():(c=4,u--)}function D(e){\">\"===e?(h=new ft(Ne({},h,{isClosing:!0})),z()):c=4}function _(t){\"--\"===e.substr(u,2)?(u+=2,h=new ft(Ne({},h,{type:\"comment\"})),c=14):\"DOCTYPE\"===e.substr(u,7).toUpperCase()?(u+=7,h=new ft(Ne({},h,{type:\"doctype\"})),c=20):R()}function B(e){\"-\"===e?c=15:\">\"===e?R():c=16}function q(e){\"-\"===e?c=18:\">\"===e?R():c=16}function F(e){\"-\"===e&&(c=17)}function M(e){c=\"-\"===e?18:16}function S(e){\">\"===e?z():\"!\"===e?c=19:\"-\"===e||(c=16)}function T(e){\"-\"===e?c=17:\">\"===e?z():c=16}function L(e){\">\"===e?z():\"<\"===e&&N()}function R(){c=0,h=a}function N(){c=1,h=new ft({idx:u})}function z(){var t=e.slice(p,h.idx);t&&o(t,p),\"comment\"===h.type?s(h.idx):\"doctype\"===h.type?i(h.idx):(h.isOpening&&r(h.name,h.idx),h.isClosing&&n(h.name,h.idx)),R(),p=u+1}function P(){var t=h.idx+(h.isClosing?2:1);return e.slice(t,u).toLowerCase()}p<u&&function(){var t=e.slice(p,u);o(t,p),p=u+1}()}var ft=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.type=e.type||\"tag\",this.name=e.name||\"\",this.isOpening=!!e.isOpening,this.isClosing=!!e.isClosing},gt=function(){function e(t){void 0===t&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:\"end\"},this.className=\"\",this.replaceFn=null,this.context=void 0,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(t.urls),this.email=\"boolean\"==typeof t.email?t.email:this.email,this.phone=\"boolean\"==typeof t.phone?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=\"boolean\"==typeof t.newWindow?t.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(t.stripPrefix),this.stripTrailingSlash=\"boolean\"==typeof t.stripTrailingSlash?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=\"boolean\"==typeof t.decodePercentEncoding?t.decodePercentEncoding:this.decodePercentEncoding;var r=this.mention;if(!1!==r&&\"twitter\"!==r&&\"instagram\"!==r&&\"soundcloud\"!==r)throw new Error(\"invalid `mention` cfg - see docs\");var n=this.hashtag;if(!1!==n&&\"twitter\"!==n&&\"facebook\"!==n&&\"instagram\"!==n)throw new Error(\"invalid `hashtag` cfg - see docs\");this.truncate=this.normalizeTruncateCfg(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,r){return new e(r).link(t)},e.parse=function(t,r){return new e(r).parse(t)},e.prototype.normalizeUrlsCfg=function(e){return null==e&&(e=!0),\"boolean\"==typeof e?{schemeMatches:e,wwwMatches:e,tldMatches:e}:{schemeMatches:\"boolean\"!=typeof e.schemeMatches||e.schemeMatches,wwwMatches:\"boolean\"!=typeof e.wwwMatches||e.wwwMatches,tldMatches:\"boolean\"!=typeof e.tldMatches||e.tldMatches}},e.prototype.normalizeStripPrefixCfg=function(e){return null==e&&(e=!0),\"boolean\"==typeof e?{scheme:e,www:e}:{scheme:\"boolean\"!=typeof e.scheme||e.scheme,www:\"boolean\"!=typeof e.www||e.www}},e.prototype.normalizeTruncateCfg=function(e){return\"number\"==typeof e?{length:e,location:\"end\"}:function(e,t){for(var r in t)t.hasOwnProperty(r)&&void 0===e[r]&&(e[r]=t[r]);return e}(e||{},{length:Number.POSITIVE_INFINITY,location:\"end\"})},e.prototype.parse=function(e){var t=this,r=[\"a\",\"style\",\"script\"],n=0,o=[];return ht(e,{onOpenTag:function(e){r.indexOf(e)>=0&&n++},onText:function(e,r){if(0===n){var s=function(e,t){if(!t.global)throw new Error(\"`splitRegex` must have the 'g' flag set\");for(var r,n=[],o=0;r=t.exec(e);)n.push(e.substring(o,r.index)),n.push(r[0]),o=r.index+r[0].length;return n.push(e.substring(o)),n}(e,/( | |<|<|>|>|"|"|')/gi),i=r;s.forEach(function(e,r){if(r%2==0){var n=t.parseText(e,i);o.push.apply(o,n)}i+=e.length})}},onCloseTag:function(e){r.indexOf(e)>=0&&(n=Math.max(n-1,0))},onComment:function(e){},onDoctype:function(e){}}),o=this.compactMatches(o),o=this.removeUnwantedMatches(o)},e.prototype.compactMatches=function(e){e.sort(function(e,t){return e.getOffset()-t.getOffset()});for(var t=0;t<e.length-1;t++){var r=e[t],n=r.getOffset(),o=r.getMatchedText().length,s=n+o;if(t+1<e.length){if(e[t+1].getOffset()===n){var i=e[t+1].getMatchedText().length>o?t:t+1;e.splice(i,1);continue}e[t+1].getOffset()<s&&e.splice(t+1,1)}}return e},e.prototype.removeUnwantedMatches=function(e){return this.hashtag||qe(e,function(e){return\"hashtag\"===e.getType()}),this.email||qe(e,function(e){return\"email\"===e.getType()}),this.phone||qe(e,function(e){return\"phone\"===e.getType()}),this.mention||qe(e,function(e){return\"mention\"===e.getType()}),this.urls.schemeMatches||qe(e,function(e){return\"url\"===e.getType()&&\"scheme\"===e.getUrlMatchType()}),this.urls.wwwMatches||qe(e,function(e){return\"url\"===e.getType()&&\"www\"===e.getUrlMatchType()}),this.urls.tldMatches||qe(e,function(e){return\"url\"===e.getType()&&\"tld\"===e.getUrlMatchType()}),e},e.prototype.parseText=function(e,t){void 0===t&&(t=0),t=t||0;for(var r=this.getMatchers(),n=[],o=0,s=r.length;o<s;o++){for(var i=r[o].parseMatches(e),a=0,u=i.length;a<u;a++)i[a].setOffset(t+i[a].getOffset());n.push.apply(n,i)}return n},e.prototype.link=function(e){if(!e)return\"\";for(var t=this.parse(e),r=[],n=0,o=0,s=t.length;o<s;o++){var i=t[o];r.push(e.substring(n,i.getOffset())),r.push(this.createMatchReturnVal(i)),n=i.getOffset()+i.getMatchedText().length}return r.push(e.substring(n)),r.join(\"\")},e.prototype.createMatchReturnVal=function(e){var t;return this.replaceFn&&(t=this.replaceFn.call(this.context,e)),\"string\"==typeof t?t:!1===t?e.getMatchedText():t instanceof Me?t.toAnchorString():e.buildTag().toAnchorString()},e.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var e=this.getTagBuilder(),t=[new lt({tagBuilder:e,serviceName:this.hashtag}),new st({tagBuilder:e}),new ct({tagBuilder:e}),new pt({tagBuilder:e,serviceName:this.mention}),new ut({tagBuilder:e,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=t},e.prototype.getTagBuilder=function(){var e=this.tagBuilder;return e||(e=this.tagBuilder=new Se({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),e},e.version=\"3.11.0\",e.AnchorTagBuilder=Se,e.HtmlTag=Me,e.matcher={Email:st,Hashtag:lt,Matcher:Ue,Mention:pt,Phone:ct,Url:ut},e.match={Email:ze,Hashtag:Pe,Match:Te,Mention:je,Phone:Ie,Url:Oe},e}(),dt=/www|@|\\:\\/\\//;function mt(e){return/^<\\/a\\s*>/i.test(e)}function bt(){var e=[],t=new gt({stripPrefix:!1,url:!0,email:!0,replaceFn:function(t){switch(t.getType()){case\"url\":e.push({text:t.matchedText,url:t.getUrl()});break;case\"email\":e.push({text:t.matchedText,url:\"mailto:\"+t.getEmail().replace(/^mailto:/i,\"\")})}return!1}});return{links:e,autolinker:t}}function vt(e){var t,r,n,o,s,i,a,u,l,c,p,h,f,g,d=e.tokens,m=null;for(r=0,n=d.length;r<n;r++)if(\"inline\"===d[r].type)for(p=0,t=(o=d[r].children).length-1;t>=0;t--)if(\"link_close\"!==(s=o[t]).type){if(\"htmltag\"===s.type&&(g=s.content,/^<a[>\\s]/i.test(g)&&p>0&&p--,mt(s.content)&&p++),!(p>0)&&\"text\"===s.type&&dt.test(s.content)){if(m||(h=(m=bt()).links,f=m.autolinker),i=s.content,h.length=0,f.link(i),!h.length)continue;for(a=[],c=s.level,u=0;u<h.length;u++)e.inline.validateLink(h[u].url)&&((l=i.indexOf(h[u].text))&&a.push({type:\"text\",content:i.slice(0,l),level:c}),a.push({type:\"link_open\",href:h[u].url,title:\"\",level:c++}),a.push({type:\"text\",content:h[u].text,level:c}),a.push({type:\"link_close\",level:--c}),i=i.slice(l+h[u].text.length));i.length&&a.push({type:\"text\",content:i,level:c}),d[r].children=o=[].concat(o.slice(0,t),a,o.slice(t+1))}}else for(t--;o[t].level!==s.level&&\"link_open\"!==o[t].type;)t--}e.Remarkable=_e,e.linkify=function(e){e.core.ruler.push(\"linkify\",vt)},e.utils=A,Object.defineProperty(e,\"__esModule\",{value:!0})});\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/markdown/remarkable.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/markdown/images/new-markdown-button": {
"title": "$:/plugins/tiddlywiki/markdown/images/new-markdown-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-markdown-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <path d=\"M3.23876972,39.5396716 C3.23876972,35.9653274 6.13586353,33.0691646 9.7141757,33.0691646 L98.1283744,33.0691646 C101.706101,33.0691646 104.60378,35.9646626 104.60378,39.5396716 L104.60378,84.8296213 C104.60378,88.4039654 101.706687,91.3001282 98.1283744,91.3001282 L9.7141757,91.3001282 C6.13644944,91.3001282 3.23876972,88.4046302 3.23876972,84.8296213 L3.23876972,39.5396716 L3.23876972,39.5396716 Z M-2.15298617,39.5396716 L-2.15298617,84.8296213 C-2.15298617,91.3833243 3.15957363,96.6918841 9.7141757,96.6918841 L98.1283744,96.6918841 C104.684083,96.6918841 109.995536,91.382138 109.995536,84.8296213 L109.995536,39.5396716 C109.995536,32.9859686 104.682977,27.6774087 98.1283744,27.6774087 L9.7141757,27.6774087 C3.15846686,27.6774087 -2.15298617,32.9871549 -2.15298617,39.5396716 Z M14.0222815,80.5166164 L14.0222815,43.8526764 L24.8057933,43.8526764 L35.589305,57.3320661 L46.3728168,43.8526764 L57.1563286,43.8526764 L57.1563286,80.5166164 L46.3728168,80.5166164 L46.3728168,59.4887685 L35.589305,72.9681582 L24.8057933,59.4887685 L24.8057933,80.5166164 L14.0222815,80.5166164 Z M81.4192301,80.5166164 L65.2439624,62.723822 L76.0274742,62.723822 L76.0274742,43.8526764 L86.810986,43.8526764 L86.810986,62.723822 L97.5944978,62.723822 L81.4192301,80.5166164 Z\"transform=\"translate(53.921275, 62.184646) rotate(-60.000000) translate(-53.921275, -62.184646) \"></path>\n </g>\n</svg>"
},
"$:/plugins/tiddlywiki/markdown/new-markdown-button": {
"title": "$:/plugins/tiddlywiki/markdown/new-markdown-button",
"tags": "$:/tags/PageControls",
"caption": "{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}} {{$:/language/Buttons/NewMarkdown/Caption}}",
"description": "{{$:/language/Buttons/NewMarkdown/Hint}}",
"list-after": "$:/core/ui/Buttons/new-tiddler",
"text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewMarkdown/Hint}} aria-label={{$:/language/Buttons/NewMarkdown/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/x-markdown\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewMarkdown/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/plugins/tiddlywiki/markdown/readme": {
"title": "$:/plugins/tiddlywiki/markdown/readme",
"text": "This is a TiddlyWiki plugin for parsing Markdown text, using the [[Remarkable|https://github.com/jonschlinkert/remarkable]] library.\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/markdown]]\n"
},
"$:/plugins/tiddlywiki/markdown/usage": {
"title": "$:/plugins/tiddlywiki/markdown/usage",
"text": "! Plugin Configuration\n\n|!Config |!Default |!Description |\n| <code>[[breaks|$:/config/markdown/breaks]]</code>| ``false``|Remarkable library config: Convert '\\n' in paragraphs into ``<br>`` |\n| <code>[[linkify|$:/config/markdown/linkify]]</code>| ``false``|Remarkable library config: Autoconvert URL-like text to links |\n| <code>[[linkNewWindow|$:/config/markdown/linkNewWindow]]</code>| ``true``|For external links, should clicking on them open a new window/tab automatically? |\n| <code>[[quotes|$:/config/markdown/quotes]]</code>| ``“”‘’``|Remarkable library config: Double + single quotes replacement pairs, when ``typographer`` enabled |\n| <code>[[renderWikiText|$:/config/markdown/renderWikiText]]</code>| ``true``|After Markdown is parsed, should any text elements be handed off to the ~WikiText parser for further processing? |\n| <code>[[renderWikiTextPragma|$:/config/markdown/renderWikiTextPragma]]</code>| ``\\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock``|When handing off to the ~WikiText parser, what pragma rules should it follow? |\n| <code>[[typographer|$:/config/markdown/typographer]]</code>| ``false``|Remarkable library config: Enable some language-neutral replacement + quotes beautification |\n\n! Creating ~WikiLinks\n\nCreate wiki links with the usual Markdown link syntax targeting `#` and the target tiddler title:\n\n```\n[link text](#TiddlerTitle)\n```\n\nIf the target tiddler has a space in its name, that name must be URL-escaped to be detected as a URL:\n\n```\n[link text](#Test%20Tiddler)\n```\n\n! Images\n\nMarkdown image syntax can be used to reference images by tiddler title or an external URI. For example:\n\n```\n\n\n\n```\n"
},
"$:/plugins/tiddlywiki/markdown/wrapper.js": {
"title": "$:/plugins/tiddlywiki/markdown/wrapper.js",
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown/wrapper.js\ntype: application/javascript\nmodule-type: parser\n\nWraps up the remarkable parser for use as a Parser in TiddlyWiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar r = require(\"$:/plugins/tiddlywiki/markdown/remarkable.js\");\n\nvar Remarkable = r.Remarkable,\n\tlinkify = r.linkify,\n\tutils = r.utils;\n\n///// Set up configuration options /////\nfunction parseAsBoolean(tiddlerName) {\n\treturn $tw.wiki.getTiddlerText(tiddlerName).toLowerCase() === \"true\";\n}\nvar pluginOpts = {\n\tlinkNewWindow: parseAsBoolean(\"$:/config/markdown/linkNewWindow\"),\n\trenderWikiText: parseAsBoolean(\"$:/config/markdown/renderWikiText\"),\n\trenderWikiTextPragma: $tw.wiki.getTiddlerText(\"$:/config/markdown/renderWikiTextPragma\").trim()\n};\nvar remarkableOpts = {\n\tbreaks: parseAsBoolean(\"$:/config/markdown/breaks\"),\n\tquotes: $tw.wiki.getTiddlerText(\"$:/config/markdown/quotes\"),\n\ttypographer: parseAsBoolean(\"$:/config/markdown/typographer\")\n};\n\nvar md = new Remarkable(remarkableOpts);\n\nif (parseAsBoolean(\"$:/config/markdown/linkify\")) {\n\tmd = md.use(linkify);\n}\n\nfunction findTagWithType(nodes, startPoint, type, level) {\n\tfor (var i = startPoint; i < nodes.length; i++) {\n\t\tif (nodes[i].type === type && nodes[i].level === level) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n * Remarkable creates nodes that look like:\n * [\n * { type: 'paragraph_open'},\n * { type: 'inline', content: 'Hello World', children:[{type: 'text', content: 'Hello World'}]},\n * { type: 'paragraph_close'}\n * ]\n *\n * But TiddlyWiki wants the Parser (https://tiddlywiki.com/dev/static/Parser.html) to emit nodes like:\n *\n * [\n * { type: 'element', tag: 'p', children: [{type: 'text', text: 'Hello World'}]}\n * ]\n */\nfunction convertNodes(remarkableTree, isStartOfInline) {\n\tlet out = [];\n\n\tfunction wrappedElement(elementTag, currentIndex, currentLevel, closingType, nodes) {\n\t\tvar j = findTagWithType(nodes, currentIndex + 1, closingType, currentLevel);\n\t\tif (j === false) {\n\t\t\tconsole.error(\"Failed to find a \" + closingType + \" node after position \" + currentIndex);\n\t\t\tconsole.log(nodes);\n\t\t\treturn currentIndex + 1;\n\t\t}\n\t\tlet children = convertNodes(nodes.slice(currentIndex + 1, j));\n\n\t\tout.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: elementTag,\n\t\t\tchildren: children\n\t\t});\n\t\treturn j;\n\t}\n\n\tfor (var i = 0; i < remarkableTree.length; i++) {\n\t\tvar currentNode = remarkableTree[i];\n\t\tif (currentNode.type === \"paragraph_open\") {\n\t\t\ti = wrappedElement(\"p\", i, currentNode.level, \"paragraph_close\", remarkableTree);\n\t\t} else if (currentNode.type === \"heading_open\") {\n\t\t\ti = wrappedElement(\"h\" + currentNode.hLevel, i, currentNode.level, \"heading_close\", remarkableTree);\n\t\t} else if (currentNode.type === \"bullet_list_open\") {\n\t\t\ti = wrappedElement(\"ul\", i, currentNode.level, \"bullet_list_close\", remarkableTree);\n\t\t} else if (currentNode.type == 'ordered_list_open') {\n\t\t\ti = wrappedElement('ol', i, currentNode.level,'ordered_list_close', remarkableTree);\n\t\t} else if (currentNode.type === \"list_item_open\") {\n\t\t\ti = wrappedElement(\"li\", i, currentNode.level, \"list_item_close\", remarkableTree);\n\t\t} else if (currentNode.type === \"link_open\") {\n\t\t\tvar j = findTagWithType(remarkableTree, i + 1, \"link_close\", currentNode.level);\n\n\t\t\tif (currentNode.href[0] !== \"#\") {\n\t\t\t\t// External link\n\t\t\t\tvar attributes = {\n\t\t\t\t\thref: { type: \"string\", value: currentNode.href }\n\t\t\t\t};\n\t\t\t\tif (pluginOpts.linkNewWindow) {\n\t\t\t\t\tattributes.target = { type: \"string\", value: \"_blank\" };\n\t\t\t\t}\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: \"a\",\n\t\t\t\t\tattributes: attributes,\n\t\t\t\t\tchildren: convertNodes(remarkableTree.slice(i + 1, j))\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Internal link\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"link\",\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tto: { type: \"string\", value: decodeURI(currentNode.href.substr(1)) }\n\t\t\t\t\t},\n\t\t\t\t\tchildren: convertNodes(remarkableTree.slice(i + 1, j))\n\t\t\t\t});\n\t\t\t}\n\t\t\ti = j;\n\t\t} else if (currentNode.type.substr(currentNode.type.length - 5) === \"_open\") {\n\t\t\tvar tagName = currentNode.type.substr(0, currentNode.type.length - 5);\n\t\t\ti = wrappedElement(tagName, i, currentNode.level, tagName + \"_close\", remarkableTree);\n\t\t} else if (currentNode.type === \"code\") {\n\t\t\tout.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttag: currentNode.block ? \"pre\" : \"code\",\n\t\t\t\tchildren: [{ type: \"text\", text: currentNode.content }]\n\t\t\t});\n\t\t} else if (currentNode.type === \"fence\") {\n\t\t\tout.push({\n\t\t\t\ttype: \"codeblock\",\n\t\t\t\tattributes: {\n\t\t\t\t\tlanguage: { type: \"string\", value: currentNode.params },\n\t\t\t\t\tcode: { type: \"string\", value: currentNode.content }\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (currentNode.type === \"image\") {\n\t\t\tout.push({\n\t\t\t\ttype: \"image\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttooltip: { type: \"string\", value: currentNode.alt },\n\t\t\t\t\tsource: { type: \"string\", value: currentNode.src }\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (currentNode.type === \"softbreak\") {\n\t\t\tout.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttag: \"br\",\n\t\t\t});\n\t\t} else if (currentNode.type == 'hr') {\n\t\t\tout.push({\n\t\t\t\ttype: 'element',\n\t\t\t\ttag: 'hr',\n\t\t\t});\n\t\t} else if (currentNode.type === \"inline\") {\n\t\t\tout = out.concat(convertNodes(currentNode.children, true));\n\t\t} else if (currentNode.type === \"text\") {\n\t\t\tif (!pluginOpts.renderWikiText) {\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: currentNode.content\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// The Markdown compiler thinks this is just text.\n\t\t\t\t// Hand off to the WikiText parser to see if there's more to render\n\n\t\t\t\t// If we're inside a block element (div, p, td, h1), and this is the first child in the tree,\n\t\t\t\t// handle as a block-level parse. Otherwise not.\n\t\t\t\tvar parseAsInline = !(isStartOfInline && i === 0);\n\t\t\t\tvar textToParse = currentNode.content;\n\t\t\t\tif (pluginOpts.renderWikiTextPragma !== \"\") {\n\t\t\t\t\ttextToParse = pluginOpts.renderWikiTextPragma + \"\\n\" + textToParse;\n\t\t\t\t}\n\t\t\t\tvar wikiParser = $tw.wiki.parseText(\"text/vnd.tiddlywiki\", textToParse, {\n\t\t\t\t\tparseAsInline: parseAsInline\n\t\t\t\t});\n\t\t\t\tvar rs = wikiParser.tree;\n\n\t\t\t\t// If we parsed as a block, but the root element the WikiText parser gave is a paragraph,\n\t\t\t\t// we should discard the paragraph, since the way Remarkable nests its nodes, this \"inline\"\n\t\t\t\t// node is always inside something else that's a block-level element\n\t\t\t\tif (!parseAsInline\n\t\t\t\t\t&& rs.length === 1\n\t\t\t\t\t&& rs[0].type === \"element\"\n\t\t\t\t\t&& rs[0].tag === \"p\"\n\t\t\t\t) {\n\t\t\t\t\trs = rs[0].children;\n\t\t\t\t}\n\n\t\t\t\t// If the original text element started with a space, add it back in\n\t\t\t\tif (rs.length > 0\n\t\t\t\t\t&& rs[0].type === \"text\"\n\t\t\t\t\t&& currentNode.content[0] === \" \"\n\t\t\t\t) {\n\t\t\t\t\trs[0].text = \" \" + rs[0].text;\n\t\t\t\t}\n\t\t\t\tout = out.concat(rs);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error(\"Unknown node type: \" + currentNode.type, currentNode);\n\t\t\tout.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: currentNode.content\n\t\t\t});\n\t\t}\n\t}\n\treturn out;\n}\n\nvar MarkdownParser = function(type, text, options) {\n\tvar tree = md.parse(text, {});\n\t//console.debug(tree);\n\ttree = convertNodes(tree);\n\t//console.debug(tree);\n\n\tthis.tree = tree;\n};\n\nexports[\"text/x-markdown\"] = MarkdownParser;\n\n})();\n",
"type": "application/javascript",
"module-type": "parser"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/appear/widget.js": {
"title": "$:/plugins/tobibeer/appear/widget.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/appear/widget.js\r\ntype: application/javascript\r\nmodule-type: widget\r\n\r\nUse the appear widget for popups, sliders, accordion menus\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/widgets/widget.js\").widget,e=function(t,e){this.initialise(t,e)},i={};e.prototype=new t;e.prototype.render=function(t,e){this.parentDomNode=t;this.nextSibling=e;this.computeAttributes();this.execute();var i,s,r,a,h,n,l=[];if(this.handle){this.getHandlerCache(this.handle,1);this.refreshHandler()}else{s={type:\"button\"};s.attributes=this.setAttributes(s,\"button\");i=s.attributes[\"class\"].value.trim();s.attributes[\"class\"].value=i+\" appear-show\"+(this.handler?\" tc-popup-absolute\":\"\");s.children=this.wiki.parseText(\"text/vnd.tiddlywiki\",this.show,{parseAsInline:true}).tree;h={type:\"reveal\",children:this.parseTreeNode.children};h.attributes=this.setAttributes(h,\"reveal\");h.isBlock=!(this.mode&&this.mode===\"inline\");if(h.attributes.type&&h.attributes.type.value===\"popup\"){s.attributes.popup=h.attributes.state;l.push(s);if(!this.handler){l.push(h)}else{s.attributes.handler=this.handler}}else{h.attributes.type={type:\"string\",value:\"match\"};h.attributes.text={type:\"string\",value:this.currentTiddler};s.attributes.set=h.attributes.state;s.attributes.setTo={type:\"string\",value:this.currentTiddler};a={type:\"reveal\",isBlock:this.block,children:[s],attributes:{type:{type:\"string\",value:\"nomatch\"},state:h.attributes.state,text:{type:\"string\",value:this.currentTiddler}}};if(!this.once){r=$tw.utils.deepCopy(s);r.attributes[\"class\"].value=i+\" appear-hide \"+(this.attr.button.selectedClass?this.attr.button.selectedClass:\"\");r.attributes.setTo={type:\"string\",value:\"\"};r.children=this.wiki.parseText(\"text/vnd.tiddlywiki\",this.hide,{parseAsInline:true}).tree}n=$tw.utils.deepCopy(a);n.children=[];if(!this.once){n.children.push(r)}if(!this.handler){n.children.push(h)}n.attributes.type.value=\"match\";l.push(a,n)}this.makeChildWidgets(l);this.renderChildren(this.parentDomNode,e);if(this.handler){this.addToHandlerCache(h)}}};e.prototype.execute=function(){var t=this;this.attr={map:{reveal:{\"class\":1,position:1,retain:1,state:1,style:1,tag:1,type:1},button:{\"button-class\":1,\"button-style\":1,\"button-tag\":1,tooltip:1,selectedClass:1}},rename:{\"button-class\":\"class\",\"button-style\":\"style\",\"button-tag\":\"tag\"},button:{},reveal:{}};$tw.utils.each(this.attributes,function(e,i){var s;$tw.utils.each(t.attr.map,function(r,a){$tw.utils.each(Object.keys(r),function(r){if(r==i){t.attr[a][i]=e;s=false;return false}});return s})});this.currentTiddler=this.getVariable(\"currentTiddler\");this.show=this.getValue(this.attributes.show,\"show\");this.hide=this.getValue(this.attributes.hide,\"hide\");if(!this.hide){this.hide=this.show}this.once=this.attributes.once&&this.attributes.once!==\"false\";this.$state=this.attributes.$state;this.mode=this.getValue(this.attributes.mode,\"mode\");this.handle=this.attributes.handle;this.handler=this.attributes.handler;this.handlerVariables=(this.attributes.variables||\"\")+\" currentTiddler\";this.keep=[\"yes\",\"true\"].indexOf((this.getValue(this.attributes.keep,\"keep\")||\"\").toLocaleLowerCase())>-1;if(!this.attr.reveal.state){this.attr.reveal.state=this.getValue(undefined,\"default-state\")+this.currentTiddler+this.getStateQualifier()+\"/\"+(this.attr.reveal.type?this.attr.reveal.type+\"/\":\"\")+(this.mode?this.mode+\"/\":\"\")+(this.once?\"once/\":\"\")+(this.$state?\"/\"+this.$state:\"\")}};e.prototype.refresh=function(t){var e=this.computeAttributes();if(Object.keys(e).length){this.refreshSelf();return true}if(this.handle){this.refreshHandler()}return this.refreshChildren(t)};e.prototype.getValue=function(t,e){var i,s,r={show:\"»\",\"default-state\":\"$:/temp/appear/\"};if(t===undefined){i=this.wiki.getTiddler(\"$:/plugins/tobibeer/appear/defaults/\"+e);if(i){s=i.getFieldString(\"undefined\");if(!s||s===\"false\"){t=i.getFieldString(\"text\")}}}if(t===undefined){t=r[e]}return t};e.prototype.setAttributes=function(t,e){var i=this,s={};$tw.utils.each(Object.keys(this.attr.map[e]),function(r){var a,h=i.attr.rename[r];if(!h){h=r}a=i.getValue(i.attr[e][r],r);if(h===\"class\"){a=[\"appear\",\"appear-\"+e,e===\"reveal\"&&i.keep?\"tc-popup-keep\":\"\",i.mode?\"appear-\"+i.mode:\"\",i.once?\"appear-once\":\"\",a||\"\"].join(\" \")}if(a!==undefined){if(h===\"tag\"){t.tag=a}else{s[h]={type:\"string\",value:a}}}});return s};e.prototype.getHandlerCache=function(t,e){var s=i[t];if(!s||e){i[t]={handled:{},handle:{}};s=i[t]}return s};e.prototype.refreshHandler=function(){var t=this,e=this.getHandlerCache(this.handle),s=e.handle;if(Object.keys(s).length){$tw.utils.each(s,function(e,i){t.removeChildNode(i);t.children.push(t.makeChildWidget(e));t.children[t.children.length-1].render(t.parentDomNode,t.nextSibling)});i[this.handle].handle={}}};e.prototype.removeChildNode=function(t){var e=this;$tw.utils.each(this.children,function(i,s){if(i.children[0].state===t){i.removeChildDomNodes();e.children.splice(s);return false}})};e.prototype.addToHandlerCache=function(t){var e=this,i=t.attributes.state.value,s=this.getHandlerCache(this.handler),r=s.handled[i],a={type:\"vars\",children:[t],attributes:{}};$tw.utils.each((this.handlerVariables||\"\").split(\" \"),function(t){t=t.trim();if(t){a.attributes[t]={type:\"string\",value:(e.getVariable(t)||\"\").toString()}}});if(a!==r){s.handle[i]=a;this.wiki.setText(\"$:/temp/appear-handler/\"+this.handler,\"text\",undefined,i)}};exports.appear=e})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tobibeer/appear/defaults/show": {
"title": "$:/plugins/tobibeer/appear/defaults/show",
"text": "»"
},
"$:/plugins/tobibeer/appear/defaults/mode": {
"title": "$:/plugins/tobibeer/appear/defaults/mode",
"text": "block"
},
"$:/plugins/tobibeer/appear/defaults/keep": {
"title": "$:/plugins/tobibeer/appear/defaults/keep",
"text": "yes"
},
"$:/plugins/tobibeer/appear/defaults/button-class": {
"title": "$:/plugins/tobibeer/appear/defaults/button-class",
"text": "tc-btn-invisible tc-tiddlylink"
},
"$:/plugins/tobibeer/appear/defaults/default-state": {
"title": "$:/plugins/tobibeer/appear/defaults/default-state",
"text": "$:/temp/appear/"
},
"$:/plugins/tobibeer/appear/popup.js": {
"title": "$:/plugins/tobibeer/appear/popup.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/appear/popup.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nAn enhanced version of the core Popup to support:\r\n* absolute popups\r\n* preview popups\r\n* popup z-index\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/utils/dom/popup.js\").Popup,e=require(\"$:/core/modules/widgets/reveal.js\").reveal,s=e.prototype.refresh;t.prototype.show=function(t){var e,s=t.domNode,p=$tw.utils.hasClass(s,\"tc-popup-absolute\"),o=this.popupInfo(s),i=function(t){var e=t,s=0,p=0;do{s+=e.offsetLeft||0;p+=e.offsetTop||0;e=e.offsetParent}while(e);return{left:s,top:p}},l={left:s.offsetLeft,top:s.offsetTop};e=o.popupLevel;if(o.isHandle){e++}this.cancel(e);if(this.findPopup(t.title)===-1){this.popups.push({title:t.title,wiki:t.wiki,domNode:s})}l=p?i(s):l;t.wiki.setTextReference(t.title,\"(\"+l.left+\",\"+l.top+\",\"+s.offsetWidth+\",\"+s.offsetHeight+\")\");if(this.popups.length>0){this.rootElement.addEventListener(\"click\",this,true)}};t.prototype.popupInfo=function(t){var e,s=false,p=t;while(p&&e===undefined){if($tw.utils.hasClass(p,\"tc-popup-handle\")||$tw.utils.hasClass(p,\"tc-popup-keep\")){s=true}if($tw.utils.hasClass(p,\"tc-reveal\")&&($tw.utils.hasClass(p,\"tc-popup\")||$tw.utils.hasClass(p,\"tc-popup-handle\"))){e=parseInt(p.style.zIndex)-1e3}p=p.parentNode}var o={popupLevel:e||0,isHandle:s};return o};t.prototype.handleEvent=function(t){if(t.type===\"click\"){var e=this.popupInfo(t.target),s=e.popupLevel-1;if(e.isHandle){if(s<0){s=1}else{s++}}this.cancel(s)}};e.prototype.refresh=function(){var t,e,p=this.isOpen;e=s.apply(this,arguments);t=this.domNodes[0];if(this.isOpen&&(p!==this.isOpen||!t.style.zIndex)&&t&&(this.type===\"popup\"||$tw.utils.hasClass(t,\"tc-block-dropdown\")&&$tw.utils.hasClass(t,\"tc-reveal\"))){t.style.zIndex=1e3+$tw.popup.popups.length}return e}})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/appear/readme": {
"title": "$:/plugins/tobibeer/appear/readme",
"text": "This plugin provides the ''$appear'' widget that can render popups and sliders (inline or block) as well as accordion menus.\n\n!! Attributes\r\n; type\r\n: set to `popup` to have the content appear as a popup\r\n; show\r\n: the button label\r\n; hide\r\n: the hide button label\r\n; mode\r\n: either `block` or `inline`, with respect to the inner content\r\n: any other mode is interpreted as block mode, without the default styles applying, e.g. drop-shadows\r\n; once\r\n: allows to click the button once, then hides it (unless the state is deleted)\r\n; $state\r\n: the widget calculates a state for you, use this to append a simple id\r\n; state\r\n: alternatively, specify a fully qualified state\r\n; keep\r\n: make popups sticky when `yes` or `true`\r\n; handle / handler / variables\r\n: allows to take the popup contents out of the flow and render them elsewhere on the page\r\n: required to properly create popups in table cells and other constained elements\r\n: specify variables to take along\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#appear\r\n"
},
"$:/plugins/tobibeer/appear/styles": {
"title": "$:/plugins/tobibeer/appear/styles",
"tags": "$:/tags/Stylesheet",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>.tc-reveal.appear-block,\r\n.tc-popup.appear {\r\n\tborder-radius: 5px;\r\n\tpadding: 1px 1em;\r\n\t<<box-shadow \"2px 2px 4px rgba(0,0,0,0.3)\">>;\r\n}\r\n.tc-popup.appear {\r\n\tpadding: 0 1em;\r\n\tbackground: <<colour background>>;\r\n}\r\n.appear-reveal.appear-inline{\r\nmargin-left:5px;\r\n}\r\n.appear-reveal.appear-inline.appear-once{\r\nmargin-left:0;\r\n}</pre>"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/preview/config": {
"title": "$:/plugins/tobibeer/preview/config",
"text": "\\define default()\r\n<dt>$(defaults)$$(option)$</dt>\r\n<dd>\r\n//{{$:/plugins/tobibeer/preview/lingo/$(option)$}}<$list\r\nfilter=\"[[$(option)$]prefix[template]]\">\r\n{{$(defaults)$$(option)$}}</$list>://<br>\r\n<$edit-text tag=input tiddler=\"$(defaults)$$(option)$\"/>\r\n</dd>\r\n\\end\n\n<dl class=\"preview-defaults\">\r\n<$vars defaults=\"$:/plugins/tobibeer/preview/defaults/\">\r\n<$list filter=\"[all[tiddlers+shadows]removeprefix<defaults>sort[title]]\" variable=\"option\">\r\n<<default>>\r\n</$list>\r\n</$vars>\r\n</dl>\r\n<style>.preview-defaults input {width:90%;}</style>"
},
"$:/plugins/tobibeer/preview/lingo/keys": {
"title": "$:/plugins/tobibeer/preview/lingo/keys",
"text": "modifier keys to trigger popup directly on-hover (ctrl, alt+shift, meta, etc...)"
},
"$:/plugins/tobibeer/preview/defaults/keys": {
"title": "$:/plugins/tobibeer/preview/defaults/keys",
"text": "CTRL"
},
"$:/plugins/tobibeer/preview/lingo/delay": {
"title": "$:/plugins/tobibeer/preview/lingo/delay",
"text": "delay popup for this many milliseconds"
},
"$:/plugins/tobibeer/preview/defaults/delay": {
"title": "$:/plugins/tobibeer/preview/defaults/delay",
"text": "1500"
},
"$:/plugins/tobibeer/preview/lingo/class": {
"title": "$:/plugins/tobibeer/preview/lingo/class",
"text": "css classes applied to the popup"
},
"$:/plugins/tobibeer/preview/defaults/class": {
"title": "$:/plugins/tobibeer/preview/defaults/class",
"text": "tc-popup-keep"
},
"$:/plugins/tobibeer/preview/lingo/not": {
"title": "$:/plugins/tobibeer/preview/lingo/not",
"text": "no preview for links inside elements with these classes"
},
"$:/plugins/tobibeer/preview/defaults/not": {
"title": "$:/plugins/tobibeer/preview/defaults/not",
"text": "tc-drop-down tc-sidebar-scrollable tc-topbar tc-tiddler-title"
},
"$:/plugins/tobibeer/preview/lingo/exclude": {
"title": "$:/plugins/tobibeer/preview/lingo/exclude",
"text": "no preview for links to tiddlers matching this filter"
},
"$:/plugins/tobibeer/preview/defaults/exclude": {
"title": "$:/plugins/tobibeer/preview/defaults/exclude",
"text": "[is[system]] [all[shadows]] [!has[text]]"
},
"$:/plugins/tobibeer/preview/lingo/template": {
"title": "$:/plugins/tobibeer/preview/lingo/template",
"text": "the preview template"
},
"$:/plugins/tobibeer/preview/defaults/template": {
"title": "$:/plugins/tobibeer/preview/defaults/template",
"text": "$:/plugins/tobibeer/preview/template"
},
"$:/plugins/tobibeer/preview/lingo/open": {
"title": "$:/plugins/tobibeer/preview/lingo/open",
"text": "view at ''<<WIKI>>''"
},
"$:/plugins/tobibeer/preview/keyboard.js": {
"title": "$:/plugins/tobibeer/preview/keyboard.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/preview/keyboard.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nFixes $:/core/modules/utils/dom/keyboard.js by providing an alternative.\r\nDo not use as an API, let's fix the core.\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var e={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,INSERT:45,DELETE:46};exports.parseKeyDescriptorTB=function(t){var l,r,y,s=t.toUpperCase().split(\"+\"),K={keyCode:null,shiftKey:false,altKey:false,ctrlKey:false};for(y=0;y<s.length;y++){l=false;r=s[y];if(r.substr(0,1)===\"!\"){l=true;r=r.substr(1)}if(r===\"CTRL\"){K.ctrlKey=l?null:true}else if(r===\"SHIFT\"){K.shiftKey=l?null:true}else if(r===\"ALT\"){K.altKey=l?null:true}else if(r===\"META\"){K.metaKey=l?null:true}else if(e[r]){K.keyCode=e[r]}else{K.keyCode=r.charCodeAt(0)}}return K};exports.checkKeyDescriptorTB=function(e,t){var l=!!t.metaKey;return(t.keyCode===null||e.keyCode===t.keyCode)&&(t.shiftKey===null?!e.shiftKey:e.shiftKey===t.shiftKey)&&(t.altKey===null?!e.altKey:e.altKey===t.altKey)&&(t.ctrlKey===null?!e.ctrlKey:e.ctrlKey===t.ctrlKey)&&(t.metaKey===null?!e.metaKey:e.metaKey===l)}})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/preview/link.js": {
"title": "$:/plugins/tobibeer/preview/link.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/preview/link.js\r\ntype: application/javascript\r\nmodule-type: startup\r\n\r\nEnhances the link widget for on-hover previews\r\n\r\n@preserve\r\n\\*/\n(function(){var e,t=require(\"$:/core/modules/widgets/link.js\").link,i=t.prototype.render,o=t.prototype.handleClickEvent;t.prototype.render=function(){i.apply(this,arguments);var t=this,o=this.wiki,p=this.domNodes[0],r=o.getTiddler(t.to),n=\"$:/plugins/tobibeer/preview/defaults/\",u=\"$:/temp/tobibeer/preview-\",l=$tw.utils.parseKeyDescriptorTB(o.getTextReference(n+\"keys\",\"\").toUpperCase()),s=o.getTextReference(n+\"delay\").toUpperCase(),a=function(e){var i=$tw.popup.popupInfo(e),p=i.popupLevel;return o.getTextReference(u+p)&&o.getTextReference(u+p+\"-tiddler\")===t.to?null:i},f=function(){var i,r=a(p);if(r){i=r.popupLevel;clearTimeout(t.previewTimeout);$tw.popup.cancel(i);i++;o.setText(u+i+\"-tiddler\",\"text\",null,t.to);if($tw.popup.findPopup(u+i)===-1){setTimeout(function(){$tw.popup.triggerPopup({domNode:p,title:u+i,wiki:o});e=0},50)}}},d=function(){var e,i,r=1,u=o.getTextReference(n+\"not\",\"\");if(u){$tw.utils.each(u.split(\" \"),function(e){var t=p;while(t&&r){if($tw.utils.hasClass(t,e)){r=0;return false}t=t.parentNode}})}if(r){i=o.getTextReference(n+\"exclude\",\"\");e=i?o.filterTiddlers(i):[];if(e.indexOf(t.to)>=0){r=0}}return r};s=s!==undefined?parseInt(s):null;if(s!==null&&isNaN(s)){s=0}if(r){$tw.utils.addClass(p,\"tc-popup-handle\");$tw.utils.addClass(p,\"tc-popup-absolute\");[\"mouseover\",\"mouseout\"].forEach(function(i){p.addEventListener(i,function(o){var p=o||window.event;if(i===\"mouseover\"){if(d()){if(!p.keyCode){p.keyCode=0}if($tw.utils.checkKeyDescriptorTB(p,l)){if(!e){e=1;f()}}else if(s!==null){e=0;t.previewTimeout=setTimeout(f,s)}}}else{e=0;clearTimeout(t.previewTimeout)}})})}};t.prototype.handleClickEvent=function(){o.apply(this,arguments);clearTimeout(this.previewTimeout);$tw.popup.cancel(Math.max(0,$tw.popup.popupInfo(this.domNodes[0]).popupLevel))}})();",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/tobibeer/preview/popups": {
"title": "$:/plugins/tobibeer/preview/popups",
"tags": "$:/tags/PageTemplate",
"text": "\\define state(num)\n$:/temp/tobibeer/preview-$num$\n\\end\n\n\\define classes(num)\ntc-popup appear appear-block appear-reveal tc-preview-tiddler tc-preview-tiddler-$num$ $(default-classes)$\n\\end\n\n\\define level(num)\n<$reveal tag=\"div\" type=\"popup\" state=<<state $num$>> class=<<classes $num$>>>\n<$tiddler tiddler={{$:/temp/tobibeer/preview-$num$-tiddler}}>\n<$transclude tiddler={{$:/plugins/tobibeer/preview/defaults/template}} mode=\"block\"/>\n</$tiddler>\n</$reveal>\n\\end\n\n<$vars default-classes={{$:/plugins/tobibeer/preview/defaults/class}}>\n<$list filter=\"1 2 3 4 5 6 7 8 9\">\n<$macrocall $name=\"level\" num={{!!title}}/>\n</$list>\n</$vars>"
},
"$:/plugins/tobibeer/preview/readme": {
"title": "$:/plugins/tobibeer/preview/readme",
"text": "The plugin $:/plugins/tobibeer/preview enhances the core <<x LinkWidget>> to display a preview of tiddlers when hovering an internal link.\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#preview"
},
"$:/plugins/tobibeer/preview/styles": {
"title": "$:/plugins/tobibeer/preview/styles",
"tags": "$:/tags/Stylesheet",
"text": ".tc-popup.tc-preview-tiddler{\r\n\tmax-width:600px;\r\n\twidth:100%;\r\n\tpadding:1em;\r\n}"
},
"$:/plugins/tobibeer/preview/template": {
"title": "$:/plugins/tobibeer/preview/template",
"text": "{{||$:/core/ui/ViewTemplate/tags}}\n\n<$transclude mode=\"block\"/>"
}
}
}
$:/core/ui/AdvancedSearch/Filter
$:/themes/tiddlywiki/vanilla/themetweaks
$:/core/ui/ControlPanel/Advanced
$:/core/ui/ControlPanel/Plugins/Add/Updates
$:/core/ui/ControlPanel/Settings/CodeMirror
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
$:/core/ui/ControlPanel/EditorTypes
$:/core/ui/DefaultSearchResultList
$:/core/ui/ControlPanel/Plugins
$:/plugins/flibbles/relink/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Saving/General
$:/core/ui/MoreSideBar/Plugins
$:/core/ui/SideBar/Recent
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFW50bbck.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVZ0b.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
// Imported when using footnote
.tc-drop-down dd {
max-width: 300px;
word-break: break;
white-space: normal;
margin: 0;
padding: 0;
}
.tc-drop-down dd a {
display: inline;
padding: 0
}
.tc-drop-down dl {
margin: 0;
}
code {
background-color: transparent !important;
border: 0px !important;
}
/* External Link Styles */
button.tc-tiddlylink,
a.tc-tiddlylink,
a.tc-tiddlylink-external,
a.tc-tiddlylink-external:visited {
color: <<colour "primary">>;
}
button.tc-tiddlylink:hover,
a.tc-tiddlylink:hover,
a.tc-tiddlylink-external:hover {
text-decoration: none;
background: linear-gradient(to left,#ff8a00,#da1b60);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
}
a.tc-tiddlylink-external {
text-decoration: none;
}
a.tc-tiddlylink-external:before {
font-family: FontAwesome;
padding-right: 2px;
content: "\f14c";
color: gray;
}
a.tc-tiddlylink-external:hover::before {
content: "\f14c";
color: <<colour "primary">>;
}
hr {
background-image: linear-gradient(to right,#ff8a00,#da1b60);
border: 0;
display: block;
width: 100%;
height: 4px;
border-radius: 4px;
}
/* Cozy line height */
.tc-tiddler-frame .tc-tiddler-body {
line-height: 24px;
}
/* Custom Styles */
.onlyice-strong {
color: <<colour "primary">>;
font-weight: bold;
font-size: 125%;
}
/* Tweak Code Blocks without Language Specified */
pre {
padding: .5em;
}
/* Beautiful background for inline code */
p>code, td>code, li>code {
padding: 3px;
background: -webkit-gradient(linear,left top,right top,from(#ffe8cc),to(#f5f5f5));
background: linear-gradient(to right,#f5f5f5,#ffe8cc);
}
figcaption {
text-align: center;
color: #777;
}
/* Table header in red */
table thead tr td, table th {
background-color: #f04747;
color: white;
}
/* Prevent word wrap in codeblocks (use horizontal scroll instead) */
pre, code {
word-wrap: normal;
white-space: pre;
}
pre::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
background-color : #F5F5F5;
}
pre::-webkit-scrollbar {
width : 10px;
background-color: #F5F5F5;
}
pre::-webkit-scrollbar-thumb {
background-color: #F90;
background-image: -webkit-linear-gradient(45deg,
rgba(255, 255, 255, .2) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, .2) 50%,
rgba(255, 255, 255, .2) 75%,
transparent 75%,
transparent)
}
/* Gradient background for codeblocks */
.hljs, pre {
background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(245,245,245,1) 100%);
}
/* Box */
/* Usage (in emmet): div.box<Tab> */
.box {
border: 2px dotted <<colour "primary">>;
border-radius: 0.5em;
padding: 0 1em;
margin-block-end: 1em;
}
[!is[system]has[modified]!sort[modified]limit[1005]]
{
"tiddlers": {
"$:/info/browser": {
"title": "$:/info/browser",
"text": "yes"
},
"$:/info/node": {
"title": "$:/info/node",
"text": "no"
},
"$:/info/url/full": {
"title": "$:/info/url/full",
"text": "file:///Users/yonghao.hu/mycode/dev_configs/personal_notes/tiddly_wiki.html"
},
"$:/info/url/host": {
"title": "$:/info/url/host",
"text": ""
},
"$:/info/url/hostname": {
"title": "$:/info/url/hostname",
"text": ""
},
"$:/info/url/protocol": {
"title": "$:/info/url/protocol",
"text": "file:"
},
"$:/info/url/port": {
"title": "$:/info/url/port",
"text": ""
},
"$:/info/url/pathname": {
"title": "$:/info/url/pathname",
"text": "/Users/yonghao.hu/mycode/dev_configs/personal_notes/tiddly_wiki.html"
},
"$:/info/url/search": {
"title": "$:/info/url/search",
"text": ""
},
"$:/info/url/origin": {
"title": "$:/info/url/origin",
"text": "file://"
},
"$:/info/browser/screen/width": {
"title": "$:/info/browser/screen/width",
"text": "1680"
},
"$:/info/browser/screen/height": {
"title": "$:/info/browser/screen/height",
"text": "1050"
},
"$:/info/browser/language": {
"title": "$:/info/browser/language",
"text": "en-US"
}
}
}
Redis UNLINK Key(similar to DEL)
Journald no further logs, status correct, dmesg report error
$:/themes/tiddlywiki/seamless
{
"tiddlers": {
"$:/themes/linonetwo/itonnote/base": {
"title": "$:/themes/linonetwo/itonnote/base",
"tags": "$:/tags/Stylesheet",
"type": "text/vnd.tiddlywiki",
"text": "/*\n** Start with the vanilla theme and normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/base}}\n\n/**\n 代码样式\n*/\n\np > code, li > code {\n box-decoration-break: clone;\n border: none;\n padding: .1rem .3rem .2rem;\n border-radius: .2rem;\n\n background: linear-gradient(19deg,#DDD,#EEE);\n color: #333;\n}\n\n.hljs {\n background-color: white;\n border: none;\n box-shadow: rgba(15, 15, 15, 0.1) 0px 0px 5px 1px, rgba(15, 15, 15, 0.1) 0px 2px 10px\n}\n\n/**\n 卡片、编辑器和背景样式\n*/\n\n/** 背景 */\nbody.tc-body {\n background-color: white;\n}\n/** 给卡片加上阴影 */\n.tc-tiddler-frame {\n box-shadow: rgba(15, 15, 15, 0.1) 0px 0px 5px 1px, rgba(15, 15, 15, 0.1) 0px 2px 10px;\n}\n/** 顶部标题栏半透明 */\n:root {\n --menubar-height: 29px;\n}\n\n.tc-tiddler-title {\n background: rgba(255, 255, 255, 0.5);\n backdrop-filter: blur(10px);\n /** fix menubar with sticky title https://github.com/Jermolene/TiddlyWiki5/issues/4471#issuecomment-594456486*/\n top: var(--menubar-height);\n}\n/** 编辑器工具栏 */\n.tc-editor-toolbar {\n background: rgba(255, 255, 255, 0.5);\n backdrop-filter: blur(10px);\n}\n/** 下拉列表当前鼠标悬浮状态的颜色 */\n.tc-block-dropdown a {\n transition: background-color 0.2s;\n}\n.tc-block-dropdown a:hover {\n background-color: #EEEEEE;\n}\n/** 去掉预览除了左边框的边框 */\n.tc-tiddler-preview-preview {\n border: none;\n padding-left: 10px;\n border-left: 1px solid #cccccc;\n}\n/** 去掉代码编辑器的边框 */\n.CodeMirror {\n border: none;\n}\n/** 去掉所有其它文本编辑框的边框 */\n.tc-tiddler-frame input.tc-edit-texteditor {\n border: none;\n background: transparent;\n}\n/** 标题下面的 tag 栏 */\n.tc-edit-tags {\n border: none;\n border-bottom: 1px solid #cccccc;\n padding: 4px 8px 4px 8px;\n}\n\n/**\n\t自定义字体\n*/\n@import url(https://cdn.jsdelivr.net/gh/tonsky/FiraCode@4/distr/fira_code.css);\n\n* {\n font-variant-ligatures: contextual;\n font-display: swap;\n}\n\n/* Specify in CSS */\ncode { font-family: 'Fira Code', monospace; }\n\n@supports (font-variation-settings: normal) {\n code { font-family: 'Fira Code VF', monospace; }\n}\n\n/**\n 按钮样式\n*/\n\n/** 不匹配工具栏上的按钮 */\nbutton:not(.tc-btn-invisible) {\n color: #333;\n background-color: rgba(0, 0, 0, 0.03);\n padding: 5px 10px;\n\tmargin: 2px;\n border-radius: 5px;\n border: none;\n transition: background-color 0.2s;\n cursor: pointer;\n}\nbutton:not(.tc-btn-invisible) svg {\n\tfill: #666;\n}\n\nbutton:not(.tc-btn-invisible):hover {\n\tbackground-color: rgba(0, 0, 0, 0.05);\n}\n\n/** Tab 上的按钮 */\n.tc-tab-buttons > button {\n\tborder-radius: 0px;\n}\n.tc-tab-buttons button:not(.tc-tab-selected) {\n\tfill: none;\n\tbackground-color: transparent;\n\tborder: none;\n}\n.tc-tab-buttons button:not(.tc-tab-selected):hover {\n\tbackground-color: rgba(0, 0, 0, 0.05);\n}\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tborder: none;\n\tborder-bottom: 2px solid silver;\n}\n.tc-tab-buttons button.tc-tab-selected {\n\tborder: none;\n\tborder-bottom: 2px solid silver;\n\tbackground-color: #f4f4f4;\n}\n\n/** 标签 */\nbutton.tc-tag-label, span.tc-tag-label {\n border-radius: 3px;\n background-color: rgba(0, 0, 0, 0.1);\n transition: background-color 0.2s;\n}\nbutton.tc-tag-label, span.tc-tag-label:hover {\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n/**\n 链接样式\n*/\n\na.tc-tiddlylink, a.tc-tiddlylink:hover, a.tc-tiddlylink:hover {\n padding: 2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: 500;\n line-height: 1.3;\n color: #333;\n border-bottom: 1px solid rgba(55, 53, 47, 0.16);\n text-decoration: none;\n transition: background 120ms ease-in 0s;\n}\na:hover {\n background-color: #EEE;\n}\n\na.tc-tiddlylink-external, a.tc-tiddlylink-external:visited {\n\tpadding: 2px;\n\tborder-bottom: 1px solid #8357d7;\n\ttext-decoration: none;\n box-decoration-break: clone;\n font-weight: 700;\n color: #666;\n}\n\na.tc-tiddlylink-external:hover {\n background-color: #333;\n background-image: linear-gradient(19deg, #333 0%, #CCC 100%);\n background-clip: border-box;\n-webkit-background-clip: text;\n-webkit-text-fill-color: transparent;\n}\n\na.tc-tiddlylink.tc-tiddlylink-resolves.tc-plugin-info.tc-popup-handle.tc-popup-absolute:hover {\n\tbackground-color: #999;\n}\n\n/**\n\t侧边栏\n*/\n\n.tc-page-controls {\n display: flex;\n flex-wrap: wrap;\n}\n\n.tc-site-title {\n\tfont-size: 1.75em;\n}\n\n.tc-sidebar-scrollable {\n\toverscroll-behavior: contain;\n\toverflow: -moz-scrollbars-none;\n}\n.tc-sidebar-scrollable::-webkit-scrollbar {\n\twidth: 0 !important\n}\n\n@media (min-width: 960px) {\n\t.tc-sidebar-scrollable {\n\t padding: 30px 10px 0px 15px;\n\t}\n}\n\n@media (max-width: 960px) {\n\t.tc-sidebar-header {\n\tmargin-top: 20px;\n\t}\n}\n\n/**\n\t侧边栏搜索框\n*/\n\n.tc-search {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.tc-search > input[type=search] {\n\tflex: 1;\n border: 1px solid #999;\n}\n/** 隐藏没用的搜索栏按钮 */\n.tc-search > span > button:nth-child(1), .tc-search > span > button:nth-child(2) {\n\tdisplay: none;\n}\n\n.tc-search ~ .tc-block-dropdown-wrapper > .tc-block-dropdown.tc-search-drop-down.tc-popup-handle {\n\twidth: 100%;\n\tmargin: 0;\n\tmargin-bottom: 20px;\n}\n\n/**\n\t卡片流\n*/\n\n@media (min-width: 960px) {\n\t.tc-story-river {\n\tpadding: 10px 0 0px 20px;\n\t}\n}\n\n/**\n\t宽屏时隐藏顶部 MenuBar\n*/\n\n@media (min-width: 960px) {\n\tnav.tc-menubar {\n\tdisplay: none !important;\n\t}\n}\n\n/**\n 去除按钮、搜索框选中时的蓝框\n*/\n\nbutton:focus, button:active {\n outline: none !important;\n box-shadow: none;\n}\n\n[placeholder]{\n text-overflow:ellipsis;\n}\n::placeholder{\n text-overflow:ellipsis;\n}\ninput[type=search] {\n appearance: none;\n -webkit-appearance: none;\n}\n\n* {\n outline: none;\n outline-color: none;\n -webkit-font-smoothing: antialiased;\n}\n*:focus {\n outline: none;\n}\n"
},
"$:/themes/linonetwo/itonnote/fontLink.tid": {
"title": "$:/themes/linonetwo/itonnote/fontLink.tid",
"tags": "[[$:/tags/RawMarkup]]",
"type": "text/html",
"text": "<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/gh/tonsky/FiraCode@4/distr/fira_code.css\">\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/seamless/base": {
"title": "$:/themes/tiddlywiki/seamless/base",
"tags": "[[$:/tags/Stylesheet]]",
"list-after": "$:/themes/tiddlywiki/vanilla/base",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n/*\nRules copied from Snow White\n*/\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected svg {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal-displayed {\n\t<<filter \"blur(4px)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n/*\nSeamless modifications\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t/* Drop the tiddler frame padding */\n\tbody.tc-body .tc-tiddler-frame {\n\t\tpadding: 0;\n\t}\n\n\t/* Move the sidebar up so that the title lines up */\n\tbody.tc-body .tc-sidebar-scrollable {\n\t\tpadding: 43px 0 28px 42px;\n\t}\n\n\t/* Stop the tiddler info panel from bleeding into the tiddler frame padding */\n\tbody.tc-body .tc-tiddler-info {\n\t\tmargin: 0;\n\t}\n\n\t/* Stop message boxes from bleeding into the tiddler frame padding */\n\tbody.tc-body .tc-message-box {\n\t\tmargin: 21px 0 21px 0;\n\t}\n\n}\n\n/* Use the tiddler background colour for the page background */\nhtml body.tc-body {\n\tbackground-color: <<colour background>>;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour background>>;\n}\n\n/* Adjust the colour of the page controls */\nbody.tc-body .tc-page-controls svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n/* Adjust the colour of the sidebar selected tabs */\nbody.tc-body .tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour background>>;\n}\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/snowwhite/base": {
"title": "$:/themes/tiddlywiki/snowwhite/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/vanilla/themetweaks": {
"title": "$:/themes/tiddlywiki/vanilla/themetweaks",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
"text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
},
"$:/themes/tiddlywiki/vanilla/base": {
"title": "$:/themes/tiddlywiki/vanilla/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n background-color: transparent;\n}\n\n\"\"\">>\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n left: -50px;\n top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n right: -80px;\n bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\nbutton, textarea, input, select {\n\toutline-color: <<colour primary>>;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n vertical-align: middle;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n \tcursor: pointer;\n\tcolor: <<colour foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n \tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px; \n\tmargin-bottom: 1px;\n\tvertical-align: text-bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n font-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\tmargin-right: .1em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n height: 1.2em;\n width: 1.2em;\n margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tbackground-color: <<colour tiddler-editor-background>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: 20%;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\tmargin-right: .3em;\n}\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n display: block;\n width: 100%;\n text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n flex: 1 0;\n background: <<colour tiddler-editor-background>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n flex: 3 1;\n border-left: 0.5em solid <<colour muted-foreground>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tright: 7px;\n line-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n font-size: 0.8em;\n margin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom-none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tfill: <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n align-items: center;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n margin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n padding: 2px 7px;\n font-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n margin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n text-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.7em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\twidth: 2em;\n\theight: 2em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n margin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tfill: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n \tpadding-left: 14px;\n}\n\n.tc-tree ol {\n \tlist-style-type: none;\n \tpadding-left: 0;\n \tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n \tpadding-left: 1em; \n}\n\n.tc-tree button { \n \tcolor: #acacac;\n}\n\n.tc-tree svg {\n \tfill: #acacac;\n}\n\n.tc-tree span svg {\n \twidth: 1em;\n \theight: 1em;\n \tvertical-align: baseline;\n}\n\n.tc-tree li span {\n \tcolor: lightgray;\n}\n\nselect {\n color: <<colour select-tag-foreground>>;\n background: <<colour select-tag-background>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
"text": "15px"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
"text": "22px"
},
"$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
"text": "14px"
},
"$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
"text": "20px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storytop": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyright": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
"text": "686px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
"text": "960px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
"text": "350px"
},
"$:/themes/tiddlywiki/vanilla/options/stickytitles": {
"title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
"text": "no"
},
"$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
"title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
"text": "fixed-fluid"
},
"$:/themes/tiddlywiki/vanilla/options/codewrapping": {
"title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
"text": "pre-wrap"
},
"$:/themes/tiddlywiki/vanilla/reset": {
"title": "$:/themes/tiddlywiki/vanilla/reset",
"type": "text/plain",
"text": "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
"text": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""
},
"$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
"text": "\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
"text": "fixed"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
"text": "auto"
},
"$:/themes/tiddlywiki/vanilla/sticky": {
"title": "$:/themes/tiddlywiki/vanilla/sticky",
"text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"
}
}
}
Monaco, Consolas, "Noto Mono", "Lucida Console", "DejaVu Sans Mono", monospace
"Open Sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", "DejaVu Sans", "Noto Sans CJK", "Microsoft Yahei", sans-serif
[[LeetCode]]
[[104. Maximum Depth of Binary Tree|https://leetcode.com/problems/maximum-depth-of-binary-tree/]]
!!! 1(当前树的高度) + 左右子树的最大高度
```cpp
int maxDepth(TreeNode* root) {
if(!root) return 0;
return 1 + max(maxDepth(root->left), maxDepth(root->right));
}
```
[[Stack data structure]]
[[min-stack-problem|https://afteracademy.com/blog/min-stack-problem]]
[[苏州微软 三面|https://xiaozhuanlan.com/topic/0263819745]] 的 [[Interview Problems]]
!!! Stack
* 我用sliding window来记录最小值区间
* 可以用 stack 来存,更好的抽象
!!! Complexity Analysis
* Time Complexity: O(1)
* Space Complexity: O(N)
!! Math
* The idea is to whenever we will encounter an element smaller than minElement instead of pushing the ‘elem’ to the stack and updating minElement, we will instead ''push (2*elem - minElement) to the stack and update minElement with ‘elem’.''
* During the pop operation, if we encounter any element smaller than minElement, we will know it is the same altered element that we pushed and it’s time to modify our minElement. We will ''return the minElement and update our minElement with (2*minElement - top Element)''
[[HTTP Status codes]]
<div class="box">
The 408 (Request Timeout) status code indicates that ''the server did
not receive a complete request message within the time ''that it was
prepared to wait.
A server SHOULD send the "close" connection option
in the response, since 408 implies that
the server has decided to close the connection rather than continue
waiting. If the client has an outstanding request in transit, the
client MAY repeat that request on a new connection.
</div>
[[database transactions]]
ACID (atomicity, consistency, isolation, durability) is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps
* Isolation: Transactions are often executed concurrently (e.g., multiple transactions reading and writing to a table at the same time). Isolation ensures that concurrent execution of transactions leaves the database in the same state that would have been obtained if the transactions were executed sequentially.
* Durability: Durability guarantees that once a transaction has been committed, it will remain committed even in the case of a system failure (e.g., power outage or crash)
[[Vim]]
```
:%s/$/,
: - enter command mode
% - for every line
s/ - substitute
$ - the end of the line
/ - and change it to
, - a comma
```
In computer programming, especially functional programming and [[Type Theory]], an algebraic data type is a kind of composite type, i.e., a type formed by combining other types.
Two common classes of algebraic types are [[product type]]s (i.e., tuples and records) and [[sum type]] (i.e., tagged or disjoint unions, coproduct types or variant types).[1]
---
[[Golang]] [go-and-algebraic-data-types](https://eli.thegreenplace.net/2018/go-and-algebraic-data-types/)
[[Algorithm And Data Structure]]
[[ELF Section]]
ELF files contain some sections (e.g. code and data) needed at runtime by the process that uses them. These sections are marked as being allocable
[[OSI model]]
[img[https://docs.projectcalico.org/images/anatomy-of-a-packet.svg]]
[[Internet protocol suite]]
An application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Application layer' sort[ind]>>
</div>
[[Linux distribution]]
Arch Linux adheres to the KISS principle ("Keep It Simple, Stupid")[6] and is focused on simplicity, modernity, pragmatism, user centrality, and versatility.
[[Arch Linux]]
遇到的问题:
* syu时, kernel升级了,但broadcom包还没拉到最新(没同步好),重启后没法联网
解决办法:
* 联网,重新syu
[[Layer 2: Data Link Layer]]
The Address Resolution Protocol (ARP) is a communication protocol used for discovering the link layer address, such as a MAC address, associated with a given internet layer address, typically an IPv4 address.
[[Programming language]]
awk
A versatile programming language for working on files.
More information: <https://github.com/onetrueawk/awk>.
[[awk]]
> NF number of fields in the current record
You can make use of variable NF which is set to the total number of fields in the input record:
`awk '{print $(NF-1),"\t",$NF}' file`
[[DFS]]
[[回溯算法解题套路框架|https://labuladong.gitbook.io/algo/suan-fa-si-wei-xi-lie/hui-su-suan-fa-dfs-suan-fa/hui-su-suan-fa-xiang-jie-xiu-ding-ban]]
```python
result = []
def backtrack(路径, 选择列表):
if 满足结束条件:
result.add(路径)
return
for 选择 in 选择列表:
做选择
backtrack(路径, 选择列表)
撤销选择
```
我们定义的 backtrack 函数其实就像一个指针,在这棵树上游走,同时要正确维护每个节点的属性,每当走到树的底层,其「路径」就是一个全排列。
[[Capacity estimation and constraints]]
[[Encoding]]
## Base32, Base64
`Base32` 是一个 [binary-to-text encoding](https://www.wikiwand.com/en/Binary-to-text_encoding) schemes,顾名思义,就是将二进制数据转换为编码只有基础 32 个字符的数据编码方式,`Base64` 则是 64 个。注意编码不等同于加密,网上有误解 Base 编码方式为加密方式,实际上标准 Base64 编码解码无需额外信息即完全可逆。
### Base 编码常见用途如下:
#### 如定义所言,binary to text
一些协议如`HTTP`, ` FTP (File Transfer Protocol)`[当指定发送文本时], `SMTP (Simple Mail Transfer Protocol)`是**text-based protocol**,也就是只支持文本传输,不支持二进制传输。是的,http 上传文件,图片时使用的`multipart/form-data`也是需要转成文本的。
所以附件如图片,文件等(binary)就可以用`Base64`编码为 text再传输。
#### 将资源编码为字符串
如 [data URI scheme](<https://www.wikiwand.com/en/Data_URI_scheme>)定义了如下语法来识别网页中的资源:
```
data:[<media type>][;base64],<data>
```
`HTML`中可以在标签中指定识别 `Base64编码` 来展示资源,
```HTML
<div>
<p>Taken from wikpedia</p>
<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
</div>
```
但因为`Base64` 是每 3 个原始字符编码成 4 个字符,不够时补`=`(下文会详述),因此编码后的大小是有可能会比原文件大的,所以`html `用 `Base64` 来展示图片而不是用具体的图片好处大概就只有少建立一条 http 连接以及少一个 http 请求(在 HTTP 1.1 以下),这种办法只有大量的小图片才有优越性了。
#### 统一转成『合法』字符
为了避免出现不符合规则的字符,方便把含有不可见字符串的信息用可见字符串表示出来。比如 `http` 协议当中的 headers 头部,必须进行 `URLEncode` 不然出现的等号可能使解析失败 空格也会使 http 请求解析出现问题,比如请求行也就是 request 就是以空格来划分的`POST /hi/you HTTP/1`,值得注意的是 `Base32`的字符列表里有不合法字符`/`。
还有避免原始信息经过百花齐开的路由,网关多次转发,因有部分系统不支持此不可识别字符或将此作为控制符,将其转义、丢弃等,造成信息丢失,所以如电子邮件里的附件也是用 base64 编码的。
### base64url
有 base64 编码的变种**base64url**,将base64 编码中的`+`换成`-`以及将`/`换成`_`,甚至不需要往后面补`=`了。这样子在 url 中传递东西时,不再需要 `URL encode`,好处就是长度短了,以及好看了一点,毕竟`%`有点视觉污染(实际上,还可以直接将编码后的东西存数据库了,因为`base64`比 `URLEncode`更通用了 )
## Base64 的由来——参考 RFC
RFC 向来都不会说明设计的历史由来,自然`base64`编码也是一样,我参考的 [rfc4648](<https://tools.ietf.org/html/rfc4648#page-3>)也只是说明了因为当时开发者们自己发明使用base 64并不规范,没有统一的标准,因此定义了一份通用标准。
然后呢,`Base64`就是自己选了`ASCII`子集(64 个字符)为标准字符集,当然这也是因为 64 是 `2的 x 次方` (如 64 就是 2 的6次方),而1个 bit 分别有 0和 1 两种状态,6 个 bit也就是 2 的 6 次方=64 个状态,刚好可以表示 64 个字符,因此`6 个 bit`就可以表达出 64 个字符了。就是下面定义的 64 个:
```
Table 1: The Base 64 Alphabet
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (pad) =
15 P 32 g 49 x
16 Q 33 h 50 y
```
##### 编码定义
> ```
> The encoding process represents 24-bit groups of input bits as output
> strings of 4 encoded characters.
> ```
* 输入:二进制(图片,文件,字符串本质就是二进制)
* 输出:编码后的字符串
* 处理过程:处理输入的二进制时,每 24 个 bit (3 个字节)作为一组,编码输出为 `base64 处理`后的`4`个标准字符集中的字符。
值得注意的是,网上的示例或说明中,都或多或少有以下偏颇之处:
- 输入的例子可以是16 进制数字、二进制、一串数字等,很多文章举的例子都是字符串;让人忽略 `binary to text` 的 **binary**
- 是每 24 位(同样需要注意不一定是 3 个 8 位的字符,3 个字节bytes才准确)为一组来处理,输出 4 个编码后的字符。强调这点是因为,24 位为一组,不够的都需要补`=`,如按其他人的文章说的 8 位 8 位的转,根本不清楚要补多少`=`
- 24 位转成 4 个编码后的字符(也就是 4*8=32位),所以编码后的长度肯定会变大
- 综上所述,RFC 原文才是最对的定义,有时细微的区别意味着理解有问题。下面会一一说明。
##### 特殊处理
> ```
> When fewer than 24 input
> bits are available in an input group, bits with value zero are added
> (on the right) to form an integral number of 6-bit groups.
> Padding at the end of the data is performed using the '=' character.
> ```
- 每 24 位为一组来编码输入的 binary 时,如果最后的一组不足24 位,往后补 0直到 补足到 24
- 对于最后对于全为 0 的一组,补充`=`
举一些例子来说明一下:
```
Input data: 0x14fb9c03d97e
16进制: 1 4 f b 9 c | 0 3 d 9 7 e
2进制: 00010100 11111011 10011100 | 00000011 11011001 01111110
6位一组: 000101 001111 101110 011100 | 000000 111101 100101 111110
Decimal: 5 15 46 28 0 61 37 62
Output: F P u c A 9 l +
```
16 进制的`0x14fb9c03d97e`作为输入,先转成二进制,然后 2 进制的每 24 位 选出来编码,上面例子就是:`00010100 11111011 10011100`,然后 6 位一组的分开,得到`000101 001111 101110 011100`。
然后分别转 10 进制,也就是`000101`变成 5,`001111`变成 15等,再去 base64 定义的字符列表中找出此 10 进制对应的字符,以此类推,就是 base64 后的结果了。
上面例子是输入刚好是有48 位, 2个 24 位,刚刚够,不需要补`=`
下面看看需要补`=`的例子:
```
Input data: 0x14fb9c03
Hex: 1 4 f b 9 c | 0 3
8-bit: 00010100 11111011 10011100 | 00000011 开始补 0 =》00000000 00000000
pad
6-bit: 000101 001111 101110 011100 | 000000 110000 000000 000000
Decimal: 5 15 46 28 0 48
pad with = =
Output: F P u c A w = =
```
注意上述输入只有 32 位,第一个 24 位处理完后,还剩下 8 位,因此需要补16 个 0.
补完后,就是 48 位的输入了,照样每 24 位输出 4 个编码后的字符。
观察后半部分, `000000 110000 000000 000000`,第一个`000000`因为后面还有内容,所以10 进制为 0,因此编码字符为 A,这个很正常;而`1100000`之后的两个 6 位`0`,都是纯粹的填充(pading)了,因此并不用 `A` 而都用 `=`代替掉**,注意不用` A`**
#### Base64 decode
说完 encode,decode 就容易啦,无非就是逆过程,RFC 都不屑于讲了。。。
一串 base64 后的字符串,根据每个字符在 base64 字符表里找到对应的 10 进制,然后转成 2 进制,最后多余补足的 000000 去掉,完了😰
[[Linux]]
## [[Regular expression(regex)]] Assertions
Bash 不支持(...) [[Capturing group]],所以需要使用[[Positive lookbehind]]来去掉不需要的字符串
如:
`echo "ip 127.0.0.1" | grep -oP "ip .*` 会多出ip;
`$ echo "ip 127.0.0.1" | ggrep -oP "(?<=ip).*"` 则成功。
<div class="box">
`time="2020-07-24 14:38:16" level=info msg="Networks: map[live:10.142.128.12]"`
可用:`grep -Po "(?<=live:).*(?=])"`
</div>
这个是只有[[PCRE]]支持的语法, posix grep不支持。
```
(?=...) Positive lookahead
(?!...) Negative lookahead
(?<=...) Positive lookbehind
(?<!...) Negative lookbehind
```
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Bash' sort[ind]>>
</div>
[[Bash]]
* `set -n or set -o noexec`: checks for syntax errors without actually running the script
* `set -v or set -o verbose`: echoes each command before executing it.
* `set -x or set -o xtrace`: echoes the result each command, but in an abbreviated manner.
* `set -u or set -o nounset`: gives an unbound variable error message and aborts the script
* `set -e or set -o errexit`: Abort script at first error, when a command exits with non-zero status (except in until or while loops, if-tests, list constructs)
[[Bash Syntaxs]]
A double dash (--) is used in most bash built-in commands and many other commands to signify the end of command options, after which only positional parameters are accepted.
```bash
grep -- -v file # search -v in file
kubectl exec kubia-7nog1 -- curl -s http://10.111.249.153 # run curl
```
[[Bash Syntaxs]]
exec:
execute commands and open, close, or copy file descriptors
exec 是 Shell 内置命令,它有两种用法,一种是执行 Shell 命令,一种是操作文件描述符。
使用 exec 命令可以永久性地重定向,后续命令的输入输出方向也被确定了,直到再次遇到 exec 命令才会改变重定向的方向
!! example
```bash
$ echo a
a
$ exec > /tmp/log.txt
$ echo redirecting
$ echo redirecting2
$ exec >&2
$ echo recover
recover
$ cat /tmp/log.txt
redirecting
redirecting2
```
[[Bash exec]]
```bash
# Sanitize std{in,out,err} because they'll be shared with untrusted child
# processes (http://crbug.com/376567).
exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)
```
就是为了防止子进程用0,1,2这三个fd, 1、2直接给cat进程托管了
[[Bash]]
[[BASH Frequently Asked Questions|http://mywiki.wooledge.org/BashFAQ#BashFAQ.2F001.How_can_I_read_a_file_.28data_stream.2C_variable.29_line-by-line_.28and.2For_field-by-field.29.3F]]
[[Bash Syntaxs]]
<<<.tc-big-quote
A here document is a special-purpose code block. It uses a form of I/O redirection to feed a command list to an interactive program or a command
<<<
```bash
COMMAND <<InputComesFromHERE
...
...
...
InputComesFromHERE
```
[[Bash]]
!! cannot read from a file and write to it in the same pipeline
`cat file | sed s/foo/bar/ > file`
Depending on what your pipeline does, the file may be clobbered (to 0 bytes, or possibly to a number of bytes equal to the size of your operating system's pipeline buffer), or it may grow until it fills the available disk space, or reaches your operating system's file size limitation, or your quota, etc.
[[Bash Syntaxs]]
[[Process substitution|https://tldp.org/LDP/abs/html/process-sub.html]] feeds the output of a process (or processes) into the stdin of another process.
在需要处理多行命令的情况下,使用:
```bash
while read key
do
done < <(command A)
```
比
`command A | xargs -I{} sh -c ""` 好
[[Bash]]
```bash
1>>filename
# Redirect and append stdout to file "filename."
&>filename
# Redirect both stdout and stderr to file "filename."
# This operator is now functional, as of Bash 4, final release.
M>&N
# "M" is a file descriptor, which defaults to 1, if not set.
# "N" is another file descriptor.
```
* `>name` means `1>name` -- redirect stdout to the file name
* `2>&1` redirects stderr (fd 2) to the current value of stdout (fd 1).
> &>name is like 1>name 2>name -- redirect stdout and stderr to the file name (however name is only opened once; if you actually wrote 1>name 2>name it'd try to open name twice and perhaps malfunction).
[[Bash best practice]]
!! Use for to loop(use IFS)
```bash
str="a b "
for i in $str; do echo "---$i---" ; done
---a---
---b---
---c---
```
IFS
```bash
str="a; b; c"
IFS=;
for i in $str; do echo "---$i---" ; done
---a; b; c---
```
!! Use [[awk]]'s `split`and `for` syntax.
example:
```bash
function pacdeps() {
yay -Si "$1" |grep "Depends On" | awk -F ":" '{print $2}' | xargs | awk '
{
split($0, a, " ");
for (i=1; i <= length(a); i++) {
printf("%s\n", a[i])
system("yay -Si "a[i] "| grep Description")
}
}
'
}
```
[[Bash Here Documents]]
```
curl -v -X POST -H 'Content-Type: application/json' --data-binary "$(cat <<EOF
{"name": "$userName", "email": "$userMail", "password": "$userPWD"}
EOF
)" 'http://localhost:4000/payment/v1/user/login'
```
[[Interview]]
Cultural fit
Ideal workplace, ideal manager, greatest strength, what about the role appeals to you most, how do you handle stress etc.
[[Algorithm]]
BFS 的核心思想应该不难理解的,就是把一些问题抽象成图,从一个点开始,向四周开始扩散。一般来说,我们写 BFS 算法都是用「队列」这种数据结构,每次将一个节点周围的所有节点加入队列。
BFS 相对 DFS 的最主要的区别是:BFS 找到的路径一定是最短的,但代价就是空间复杂度比 DFS 大很多
[[BFS]]
* [[Shortest Cell Path|https://www.pramp.com/challenge/Y56aZmaj9Ptmd9wV9xvL]]
[[BFS]]
问题的本质就是让你''在一幅「图」中找到从起点 start 到终点 target 的最近距离'',这个例子听起来很枯燥,但是 BFS 算法问题其实都是在干这个事儿
这个广义的描述可以有各种变体,比如
* 走迷宫,有的格子是围墙不能走,从起点到终点的最短距离是多少?如果这个迷宫带「传送门」可以瞬间传送呢?
* 再比如说两个单词,要求你通过某些替换,把其中一个变成另一个,每次只能替换一个字符,最少要替换几次?
* 再比如说连连看游戏,两个方块消除的条件不仅仅是图案相同,还得保证两个方块之间的最短连线不能多于两个拐点。你玩
* 连连看,点击两个坐标,游戏是如何判断它俩的最短连线有几个拐点的?
这些问题都没啥奇技淫巧,本质上就是一幅「图」,让你从一个起点,走到终点,问最短路径
```cpp
// 计算从起点 start 到终点 target 的最近距离
int BFS(Node start, Node target) {
Queue<Node> q; // 核心数据结构
Set<Node> visited; // 避免走回头路
q.offer(start); // 将起点加入队列
visited.add(start);
int step = 0; // 记录扩散的步数
while (q not empty) {
int sz = q.size();
/* 将当前队列中的所有节点向四周扩散 */
for (int i = 0; i < sz; i++) {
Node cur = q.poll();
/* 划重点:这里判断是否到达终点 */
if (cur is target)
return step;
/* 将 cur 的相邻节点加入队列 */
for (Node x : cur.adj())
if (x not in visited) {
q.offer(x);
visited.add(x);
}
}
/* 划重点:更新步数在这里 */
step++;
}
}
```
* 队列 q 就不说了,BFS 的核心数据结构
* cur.adj() 泛指 cur 相邻的节点,比如说二维数组中,cur 上下左右四面的位置就是相邻节点;
* visited 的主要作用是防止走回头路,大部分时候都是必须的,但是像一般的二叉树结构,没有子节点到父节点的指针,不会走回头路就不需要 visited。
Border Gateway Protocol (BGP) is a standardized exterior gateway [[Internet protocol suite]] designed to exchange routing and reachability information among autonomous systems (AS) on the Internet.
[[Page cache]]
具体page cache我不是很清楚,我理解是这样子:
大概是: A文件,原来你程序设置每次读512KB文件,OS设置了1M readhead,就读2MB硬盘到page cache后,再读1MBpage cache,
后续程序再读2MB文件,就有1MB在page cache里可以直接读了;
但如果文件都很小,比如就很多 1MB 的文件,每次系统都给你多读了1MB的内容都page cache,就导致cache很快满,没办法很好利用
有教[[抽象]]能力的书么?
* Java - A Little Java, A Few Patterns - 为什么Java101会讲Expression Problem跟Church Numeral啊。。。这画风有什么地方不对。。。Dan Friedman出品必属精品C++ -
* From Mathematics to Generic Programming - 就是字面意思,慢慢的讲如何实现数学算法,然后引入抽象代数,代码也随之抽象化起来。另:一股Haskell的味道扑面而来Haskell - 讲真,那本书都行 - 学Haskell无论什么书都会花大幅篇章讲抽象讲Typeclass,反而是避免Overgeneralization需要慢慢去试坑。。。
* OCaml - Real World OCaml - 谈起抽象化,不可能不知道ML系的Module。Lisp - The Art of the Metaobject Protocol - Meta Circular Evaluator爽不?想不想接着爽下去?这本书能让你再爽300页。具体的说,跟Meta Circular Evaluator有点相似的,`MetaObject Protocol`讲的是如何在实现一个语言的时候,把实现的内部机制通过Object反射到该语言里面,于是整个语言就变得可扩展的。
* Lisp - Paradigms of Artificial Intelligence Programming - 教你用宏,S表达式,高阶函数,老式(eliza style)NLP接口写AILisp - Symbolic Computing contents - 扩展板的SICP,该有的都有了(宏,高阶函数,Abstract Data Type),不该有的(划掉)也有,比如classical AI,海龟画图,PL Design。。。什么鬼,作为一本101书这比Little Java还离谱啊(当然这本书比Little Java厚的多,Java也远远没Logo有花样)
作者:圆角骑士魔理沙
链接:https://www.zhihu.com/question/54319353/answer/140753769
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
[[Binary Tree Traverse]]
[img[https://www.pramp.com/img/content/img_02.png]]
* n有右子树(如9)的话,右节点的最左节点就是最小值;
* n没右子树(如14),当n往上走到n是左节点时,父亲就是结果;
```c
struct node* inOrderSuccessor(struct node* n) {
if(n->right != nullptr) {
return findRightSmallest(n->right);
}
struct node* ancestor = n->parent;
while(ancestor != nullptr && n != ancestor->left) {
n = ancestor;
ancestor = n->parent;
}
return ancestor;
}
```
[[Linux File System]]
Btrfs is a modern copy on write (CoW) filesystem for Linux aimed at implementing advanced features while also focusing on fault tolerance, repair and easy administration.
[[Btrfs]]
* Use [[Btrfs Subvolumes]] to seperate cache so that 'll not backup it.
* Hibernate on Swap file: can not put swap file on `/home` because systemd has a bug
[[Btrfs Subvolumes]]
A snapshot is simply a [[Btrfs Subvolumes]] that shares its data (and metadata) with some other subvolume, using Btrfs's COW capabilities.
Once a [writable] snapshot is made, there is no difference in status between the original subvolume, and the new snapshot subvolume
[[Btrfs]]
* A Btrfs subvolume is an independently mountable POSIX filetree and not a block device (and cannot be treated as one).
*Most other POSIX filesystems have a single mountable root, Btrfs has an independent mountable root for the volume (top level subvolume) and for each subvolume; a Btrfs volume can contain more than a single filetree, it can contain a forest of filetrees.
*A Btrfs subvolume can be thought of as a POSIX file namespace.
[[DevelopmentTools]]
Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.
[[Calico]]
<<<.tc-big-quote
For larger deployments, simple BGP can become a limiting factor because it requires every BGP client to be connected to every other BGP client in a mesh topology. This requires an increasing number of connections that rapidly become tricky to maintain, due to the N^2 nature of the increase.
For that reason, in larger deployments, Calico will deploy a BGP route reflector. This component, commonly used in the Internet, acts as a central point to which the BGP clients connect, preventing them from needing to talk to every single BGP client in the cluster.
<<<
The route reflectors are purely involved in the control of the network: no endpoint data passes through them.
In Calico, this BGP component is also most commonly BIRD, configured as a route reflector rather than as a standard BGP client.
!! Centralized route distribution
When the [[Calico BGP client (BIRD)]] advertises routes from its FIB to the route reflector, the route reflector advertises those routes out to the other nodes in the deployment.
[[Docker]]
[[Calico]]
* ailed to create endpoint #{name} on network calico-pool-1: `NetworkDriver.CreateEndpoint`: The requested subnet must match the CIDR of a configured Calico IP Pool.
> tail -f /var/log/calico/libnetwork/current
```
>>> import ipaddress
>>> ipaddress.IPv4Address('10.143.194.4') in ipaddress.IPv4Network('10.143.192.0/19')
True
```
[[NetworkVirtualization]]
<div class="box">
Calico is an open source networking and network security solution for containers, virtual machines, and native host-based workloads. Calico supports a broad range of platforms including Kubernetes, OpenShift, Docker EE, OpenStack, and bare metal services.
<<<.tc-big-quote
Project Calico attempts to solve the speed and efficiency problems that using virtual LANs, bridging, and tunneling can cause. It achieves this by connecting your containers to a vRouter, which then routes traffic directly over the L3 network. This can give huge advantages when you are sending data between multiple data centers as there is no reliance on NAT and the smaller packet sizes reduce CPU utilization.
<<<
Calico is made up of the following interdependent components:
* [[Calico Felix]], the primary Calico agent that runs on each machine that hosts endpoints.
* The Orchestrator plugin, orchestrator-specific code that tightly integrates Calico into that orchestrator.
* etcd, the data store.
* [[Calico BGP client (BIRD)]], a BGP client that distributes routing information.
* [[Caclico BGP route reflector (BIRD)]], an optional BGP route reflector for higher scale
</div>
[[Kubernetes pods]] are first class citizens on your network and able to communicate with any other workload on your network.
[[Calico]] deploys a BGP client on every node that also hosts a Felix.
!! Route distribution
When [[Calico Felix]] inserts routes into the Linux kernel FIB(forwarding information base), the BGP client will pick them up and distribute them to the other nodes in the deployment.
[[Calico Debug]]
* `calicoctl get wep --all-namespaces -o json |less`
* `calicoctl get bgppeer |less` show all peers
* `apt install bird && birdc -s /var/run/calico/bird.ctl show route |less` can show routes, [[bird Remote control |https://bird.network.cz/?get_doc&v=20&f=bird-4.html]]
[[Calico]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Calico Debug' sort[ind]>>
</div>
[[Calico]]
<<<.big-quote
Calico Felix is a daemon that runs on every machine that provides endpoints: in most cases that means on nodes that host containers or VMs.
It is responsible for programming routes and ACLs, and anything else required on the host, in order to provide the desired connectivity for the endpoints on that host.
<<<
* ''Interface management''
** ensure that the host responds to ARP requests from each workload with the MAC of the host
** enable IP forwarding for interfaces that it manages
** monitors for interfaces to appear and disappear
*''Route programming''
** programming routes to the endpoints on its host into the Linux kernel FIB (Forwarding Information Base)
* ''ACL programming''
** programming ACLs into the Linux kernel
* ''State reporting''
** reports errors and problems with configuring its host
可参考 [[Eru]] 的 [[Eru Deploy calico(optional)|https://book.eru.sh/maintenance/calico]]
[[Calico]] 部署步骤:
# 安装 calicoctl 和启动 calico-node
* [[calicoctl configure it's store]]
# 安装对 Docker 的支持: 受限于最新的 calico-libnetwork-plugin 已经不再支持 v3 版本的 calico,Eru 做了一个 port 称之为 [[eru-minions|https://github.com/projecteru2/minions]]
# [[Calico系统配置]]
# 配置[[Calico IP pool]]
# `docker network create --driver calico --ipam-driver calico-ipam --subnet ${NETPOOL} ${NETNAME}` 指定calico driver
> docker network create 只需要在任意节点运行一次即可,并不需要运行多次。只要运行了一次之后,以同一个 etcd 作 [[docker cluster-store]] 的 docker daemon 都会知道有了这么一个网络。
# 通过 `docker -it --rm --network ${NETNAME} alpine ifconfig` 看到是否添加了一块名叫 cali0 的网卡,这时候从任意 calico node 或者其他同一子网的其他容器 ping 通这个容器了。
[[Calico]]
! list
```bash
calicoctl get ipPool -o yaml
- apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
annotations:
org.projectcalico.label.network.ID: c79bdf8b66ed0b70b906a62c35028cf4039c346f45aa4313bb658054966b2450
```
[[calicao subnet not match the CIDR of a configured Calico IP Pool]] 有可能是docker里记录的`org.projectcalico.label.network.ID`不一致
! create
```bash
cat <<EOF | calicoctl create -f -
- apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
name: ${CALICO_POOL_NAME}
spec:
natOutgoing: true
cidr: ${CALICO_POOL_CIDR}
EOF
```
* `natOutgoing`: When enabled, packets sent from Calico networked containers in this pool to destinations outside of this pool will be masqueraded.
* [[CIDR]]: IP range to use for this pool..
---
```bash
root@localhost:~# calicoctl get IPPool
NAME CIDR
default-ipv4-ippool 192.168.0.0/16
default-ipv6-ippool fd1e:839d:6b0c::/48
testpool 10.213.0.0/16
```
* `ipipMode`: The mode defining when IPIP will be used. Cannot be set at the same time as vxlanMode.
* `vxlanMode`: The mode defining when VXLAN will be used. Cannot be set at the same time as ipipMode.
[[Calico]]
> Therefore Calico also programs iptables on each host, to specify the IP addresses (and optionally ports etc.) that each workload is allowed to send to or receive from.
<<<.tc-big-quote
In a system using Calico, compute hosts run a virtual router (the one already built into the Linux kernel) and configure their workloads to be connected to it. This router then shares routes with the routers in other compute hosts (using BGP – just like the internet) allowing all workloads to be connected to each other. Calico uses IPtables (as used in many firewalls across the internet) to restrict which workloads can talk to which other workloads.
<<<
Calico 需要在每台机器上装上 [[Calico Felix]]来回应ARP请求,编辑the routing table,iptables转发。
也需要装上[[Calico BGP client (BIRD)]],它会监控iptables表,并且通知 [[Caclico BGP route reflector (BIRD)]],而[[Caclico BGP route reflector (BIRD)]]则会告知其他node这些变动。
---
[[Calico 网络原理|https://www.cnblogs.com/jokerjason/p/13206594.html]]
!! 流程
# 当容器创建时,calico为容器生成veth pair,一端作为容器网卡加入到容器的网络命名空间,并设置IP和掩码,一端直接暴露在宿主机上
# 并通过设置路由规则,将容器IP暴露到宿主机的通信路由上
# 于此同时,calico为每个主机分配了一段子网作为容器可分配的IP范围,这样就可以根据子网的CIDR为每个主机生成比较固定的路由规则。
!! 容器跨主机通信
# 容器流量通过veth pair到达宿主机的网络命名空间上
# 根据容器要访问的IP所在的子网CIDR和主机上的路由规则,找到下一跳要到达的宿主机IP。
# 流量到达下一跳的宿主机后,根据当前宿主机上的路由规则,直接到达对端容器的veth pair插在宿主机的一端,最终进入容器。
从上面的通信过程来看,跨主机通信时,整个通信路径完全没有使用NAT或者UDP封装,性能上的损耗确实比较低。但正式由于calico的通信机制是完全基于三层的,这种机制也带来了一些缺陷:
calico目前只支持TCP、UDP、ICMP、ICMPv6协议,如果使用其他四层协议(例如NetBIOS协议),建议使用weave、原生overlay等其他overlay网络实现。
基于三层实现通信,在二层上没有任何加密包装,因此只能在私有的可靠网络上使用。
流量隔离基于iptables实现,并且从etcd中获取需要生成的隔离规则,有一些性能上的隐患。
```bash
cat <<EOF >/etc/calico/calicoctl.cfg
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
datastoreType: "etcdv3"
etcdEndpoints: "http://${ETCD}"
EOF
```
设置使用etcd来存储[[Calico]]的数据,key摘取如下:
* /calico/ipam/v2/assignment/ipv4/block/10.213.21.0-26
* /calico/ipam/v2/host/localhost/ipv4/block/10.213.20.0-26
* /calico/resources/v3/projectcalico.org/ippools/testpool
* /calico/resources/v3/projectcalico.org/nodes/localhost
* /calico/resources/v3/projectcalico.org/workloadendpoints/localhost/localhost-libnetwork-libnetwork-02b21dbcde5470fe96fce7f9cad9c3764567536477df50de92caa1c243e02752
[[Calico]]
Calico 使用 3 layer 网络进行转发,因此每一台跑了 calico-node 的机器需要对 2 个系统参数修改:
```bash
echo 'net.ipv4.ip_forward=1' >>/etc/sysctl.conf
echo 'net.netfilter.nf_conntrack_max=1000000' >>/etc/sysctl.conf
```
[[Distribute System Theorem]]
- consistency(一致性): 一致性指 “`all nodes see the same data at the same time`”,即所有节点在同一时间的数据完全一致。
- availability(可用性): “`Reads and writes always succeed`”,就算出现网络错误,所有请求都会有回应。
- partition tolerance(分区容错性):分区容错性指 “`the system continues to operate despite arbitrary message loss or failure of part of the system`”,即便节点间的信息丢失,或者`{d, e, f} `三个节点因为机房故障无法与其他的最新的节点`{a, b }`联系(其实就分成两个区了),系统也要正常的回应请求。
注意,有一个误解的地方是,CAP 永远只能二选一,是静态的。
这是不对的。
CAP 是**动态**的,P 发生的时候,只能 C和A之间选其一,但是 P 没有发生的时候,就是 CA 了。
所以问题的关键是, 当 P 发生时, 我们为什么只能CA选其一,以及如何取舍。
P 发生时, 节点间不能正常通信。假设 {a, b} 与 {c, d, e}两部分隔离开了,那么就会出现两部分节点数据不同步的情况。
- AP: 若要继续提供访问的能力, A 没有问题, 系统仍能提供访问的能力;但是, 两部分的节点数据不一致了,所以 C 一致性无法达成。
- CP: 若要等两部分节点通信回复正常,数据同步完(C 达成),再提供访问的能力,这时 A 就无法达成。
你可能会有疑惑,当两部分无法通信时,直接断掉旧节点就好了,不再访问它们。
但其实这就是把分区容错性(P)掐掉了-_- , 根本就没有发生分区了~
所以 CA 就是: 系统没有发生分区, 或者你把挂掉的分区掐掉了(没有容错)
下面举一些关于 CAP 应用的例子:
## Mongo 数据库的分布式同步
mongo 的分布式同步(现在叫Replication)是这样子做的: 一个主库Primary,多个从库Secondary分布在不同的机器。
数据更新写入到主库的时候,主库会写到 oplog 的这份操作日志里。然后其他从库主动拉 oplog 的日志,apply 应用上去,做一样的操作,这样数据就会更新到其他从库。
oplog 是 每个从库 (Secondary) 主动去拉的,所以网络问题出现了(也就是 P 出现了),一些从库就不能同步到最新了。mongo 通常选择提供 AP,节点正常返回旧数据,就无法保证 C 了。
然后选举新 主库(master) 的时候,会对比看看谁 >= 旧 master 的 oplog 记录,就选谁。不是同步或者更新的 slave 全部没有资格
### 分布式锁
一般来说,分布式锁最重要的是提供一致性,也就是说,任何节点都应该所见的锁是一致的,不会两个节点同时占用一个锁。所以当 P 发生时,要提供的是 C,而不是 A。所以应该要把落后的节点全部返回该节点已落后的信息,来让 client 决定不要使用此节点,重新选择。
[1]: https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf
## 关于 CAP 的反思
> CAP 最初是作为一个经验法则提出的,没有准确的定义,目的是开始讨论数据库的权衡。
>
> CAP 定理鼓励数据库工程师向分布式无共享系统的设计领域深入探索,这类架构更适合实现大规模的网络服务【37】。 对于这种文化上的转变,CAP 值得赞扬 —— 它见证了自 00 年代中期以来新数据库的技术爆炸(即 NoSQL)。
是的,你在网上一搜,对 CAP 的理解各执一词,难以有准确的定义,一个确切的答案。往往都会忽略了 CAP 是动态的这个关键,即 P 不一定会发生,不发生时是 CA,发生时是 CA选其一,比如说[阮老师的文章](<http://www.ruanyifeng.com/blog/2018/07/cap.html>)。
最近互联网面试逐渐从红黑树变成了问 CAP(偷笑),间接也说明了逐渐重视大规模互联网分布式并开始应用。
总的来说,CAP是一个可以指导大致的设计的思想理论,但是在具体的实践应用中帮助不大。
[[Step 1: Constraints and use cases]]
### Syntax
(regex)
> Parentheses group the regex between them. They capture the text matched by the regex inside them into a numbered group that can be reused with a numbered backreference. They allow you to apply regex operators to the entire grouped regex.
### example
` (abc){3} matches abcabcabc. First group matches abc.`
[[cgroup]]
CFS bandwidth control is a CONFIG_FAIR_GROUP_SCHED extension which allows the
specification of the maximum CPU bandwidth available to a group or hierarchy.
The bandwidth allowed for a group is specified using a quota and period.
* Within each given "period" (microseconds), a group is allowed to consume only up to "quota" microseconds of CPU time.
* When the CPU bandwidth consumption of a group exceeds this limit (for that period), the tasks belonging to its hierarchy will be throttled and are not allowed to run again until the next
period.
[[cgroups Terminology]]
A cgroup is a collection of processes that are bound to a set of limits or parameters defined via the cgroup filesystem.
[[cgroups]]
[[linux CPUSETS|https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt]]
provide a mechanism for assigning a set of CPUs and Memory
Nodes to a set of tasks.
Cpusets constrain the CPU and Memory placement of tasks to only
the resources within a task's current cpuset.
[[cgroups Terminology]]
The cgroups for a controller are arranged in a hierarchy. This hierarchy is defined by creating, removing, and renaming subdirectories within the cgroup filesystem.
At each level of the hierarchy, attributes (e.g., limits) can be defined. The limits, control, and accounting provided by cgroups generally have effect throughout the
subhierarchy underneath the cgroup where the attributes are defined. Thus, for example, the limits placed on a cgroup at a higher level in the hierarchy cannot be ex‐
ceeded by descendant cgroups.
[[cgroups Terminology]]
A subsystem is a kernel component that modifies the behavior of the processes in a cgroup. Various subsystems have been implemented, making it possible to do things
such as limiting the amount of CPU time and memory available to a cgroup, accounting for the CPU time used by a cgroup, and freezing and resuming execution of the pro‐
cesses in a cgroup.
Subsystems are sometimes also known as resource controllers (or simply, controllers).
[[OS-level virtualization]]
Control groups, usually referred to as cgroups, are a Linux kernel feature which allow processes to be organized into hierarchical groups whose usage of various types
of resources can then be limited and monitored.
The kernel's cgroup interface is provided through a pseudo-filesystem called cgroupfs.
Grouping is implemented in the
core cgroup kernel code, while resource tracking and limits are implemented in a set of per-resource-type subsystems (memory, CPU, and so on).
[[cgroups]]
<<<.tc-big-quote
memory.oom_control
contains a flag (0 or 1) that enables or disables the Out of Memory killer for a cgroup.
<<<
docker在设置cgroup时设置oom control的,kernel来杀OOM的进程。
[[Testing]]
[[Chaos Engineering: the history, principles, and practice|https://www.gremlin.com/community/tutorials/chaos-engineering-the-history-principles-and-practice/]]
[[Property-based Testing]]
[[Choosing properties for property-based testing |https://fsharpforfunandprofit.com/posts/property-based-testing-2/]]
[[Network]]
!! Quick Question
> Which IP addresses does 192.168.1.0/24 represent?
`192.168.1.0` to `192.168.1.255`!
`192.168.1.0/24` means "all the IP addresses that have the same 24 bits as `192.168.1.0`".
There are `2^(32 - 24)` IP addresses like that, or 256 -- everything from 192.168.1.0 to 192.168.1.255.
this is called "CIDR notation"
注意, cidr的标准格式应该把没用的位设置为0,如:`10.200.0.0/16` ,尽管后两位没实质意义,但设置为0, [[Calico]] 会校验。
!! Calculate CIDR
`ipcalc 192.168.10.0/24`
!! Idea
<div class="box">
"""
CIDR provides us with the means of escaping from default subnet masks, thus allowing us to be more flexible in sizing our networks.
The CIDR system does not depend on a predefined network ID of 8, 16, or 24 bits. Instead, a single number called the CIDR prefix specifies the number of bits within the address that serve as the network/subnet ID. This prefix is sometimes called a variable-length subnet mask (VLSM).
For example, if the IPv6 subnet is /112, then the router knows that any address that matches on the first 112 bits is on the local subnet.
CIDR notation uses a slash (/) separator followed by a base 10 numeral to specify the number of bits in the network portion of the address. For example, in the CIDR address 205.123.196.183/25, the /25 specifies that 25 bits of the address refer to the network, which corresponds to a subnet mask of 255.255.255.128.
"""
</div>
[[Note]]
In terms of classiful networks, there are five classes: A, B, C, D, and E. Classes A, B, and C have their own IP address ranges, default subnet masks, a maximum number of hosts, and private address ranges. Classes D and E have their own IP address ranges but do not require the other attributes. First, let's look at classes A, B, and C:

> I have written the subnet masks in a dotted-decimal format and as a slash notation, that is, /8, /16, /24. This is often also referred to as [[CIDR]] notation. We will cover [[CIDR]] in more detail shortly. What this slash notation is telling us is the number of bits that have been allocated to the subnet mask (or network element). Therefore, Class A has 8 bits allocated to the network element, Class B has 16 bits, and Class C has 24 bits.
[[Backend]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Cloud Products' sort[ind]>>
</div>
[[Development]]
In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Compiler' sort[ind]>>
</div>
[[Compiler]]
<div class="box">
以hello.c的源文件为例, C/C++编译, 链接与装载的流程是
#gcc -E 将hello.c预处理, 把所有的宏展开, 解析#ifndef, 删除注释等, 得到translation unit(编译单元) hello.i文件.
#gcc -S 将hello.i编译成汇编文件hello.s
#gcc -c 汇编器as将hello.s编译成成目标文件hello.o
#gcc 链接器ld将hello.o链接成可执行文件a.out
</div>
[[Development]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Computer Architecture' sort[ind]>>
</div>
[[Backend]]
In computing, multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end.
[[data distribute(数据分布)]]
[[Golang]]
```golang
const (
FIRST = "WHAT THE"
SECOND = "F*CK"
)
func main() {
var s string
go func() {
i := 1
for {
i = 1 - i
if i == 0 {
s = FIRST
} else {
s = SECOND
}
time.Sleep(10)
}
}()
for {
fmt.Println(s)
time.Sleep(10)
}
}
```
因为对string的赋值不是原子的,所以有并发冲突。
```bash
$ go run -race /tmp/x.go > /dev/null
==================
WARNING: DATA RACE
Write at 0x00c0000901e0 by goroutine 7:
main.main.func1()
/tmp/x.go:20 +0x65
Previous read at 0x00c0000901e0 by main goroutine:
main.main()
/tmp/x.go:29 +0x9d
Goroutine 7 (running) created at:
main.main()
/tmp/x.go:15 +0x8f
==================
==================
WARNING: DATA RACE
Read at 0x00c0000901e0 by main goroutine:
main.main()
/tmp/x.go:29 +0x9d
Previous write at 0x00c0000901e0 by goroutine 7:
main.main.func1()
/tmp/x.go:20 +0x65
Goroutine 7 (running) created at:
main.main()
/tmp/x.go:15 +0x8f
```
[[Backend]]
[[Config Files: INI, XML, JSON, YAML, TOML|https://www.barenakedcoder.com/blog/2020/03/config-files-ini-xml-json-yaml-toml/]]
[[Multi-Leader Replication]]
* last write wins
** 给每个写入一个唯一的ID(例如,一个时间戳,一个长的随机数,一个UUID或者一个键和值的哈希),挑选最高ID的写入作为胜利者,并丢弃其他写入。如果使用时间戳,这种技术被称为最后写入胜利(LWW, last write wins)。虽然这种方法很流行,但是很容易造成数据丢失
*为每个副本分配一个唯一的ID,ID编号更高的写入具有更高的优先级。这种方法也意味着数据丢失
* 以某种方式将这些值合并在一起 - 例如,按字母顺序排序,然后连接它们(在图5-7中,合并的标题可能类似于“B/C”)。
* 在保留所有信息的显式数据结构中记录冲突,并编写解决冲突的应用程序代码(也许通过提示用户的方式)。
[[linux kernel modules]]
Connection tracking (“conntrack”) is a core feature of the Linux kernel’s networking stack. It allows the kernel to keep track of all logical network connections or flows, and thereby identify all of the packets which make up each flow so they can be handled consistently together.
[[JobControl]]
> If a command is terminated by the control operator &, the shell executes the command in the background in a subshell. The shell does not wait for the command to finish, and the return status is 0.
这是bash 文档的话,有坑,实际上的意思就是:
bash会[[fork]]再[[exec]]跑这个后台程序。
你只要知道`exit &`结果会怎么样,就OK了。
[[Why is subshell created by background control operator displayed under pstree|https://unix.stackexchange.com/questions/256659/why-is-subshell-created-by-background-control-operator-not-displayed-under-p]]
[[Computer multitasking]]
协作式多任务(Cooperative Multitasking)
* Cooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process.
* Instead, in order to run multiple applications concurrently, processes voluntarily yield control periodically or when idle or logically blocked.
* This type of multitasking is called cooperative because all programs must cooperate for the scheduling scheme to work.
!! Node.js
In systems like Node.js, the approach is similar to that of Windows 3.1 and Mac OS 9. Node.js runs in the JavaScript event loop.
All requests are handled within a single thread.
Node gives control to requests in a queue. Each request does some amount of work and then returns control back to the event loop so progress can be made on other requests.
[[host 模型]] 但是端口被占用了,创建容器以及assign ip成功,但实际上进程是fail的;
[[Computing]]
Coroutines are ''computer program components that generalize subroutines for non-preemptive multitasking'', by allowing execution to be suspended and resumed.
oroutines are well-suited for implementing familiar program components such as cooperative tasks, exceptions, event loops, iterators, infinite lists and pipes.
[[Coroutine]] are very similar to [[Thread]].
However, coroutines are [[Cooperative multitasking]], whereas threads are typically [[Preemption multitasking]].
This means that coroutines ''provide concurrency but not parallelism''
The advantages of coroutines over threads are that they may be used in a'' hard-realtime context (switching between coroutines need not involve any system calls or any blocking calls whatsoever''), there is no need for synchronisation primitives such as mutexes, semaphores, etc. in order to guard critical sections, and there is no need for support from the operating system.
''It is possible to implement coroutines using preemptively-scheduled threads'', in a way that will be transparent to the calling code, but some of the advantages (particularly the suitability for hard-realtime operation and relative cheapness of switching between them) will be lost.
[[Coroutine]]
[[也来说说协程(2)——上下文切换|https://zhuanlan.zhihu.com/p/220025846]]
!! yield
本质上来讲,协程需要实现一个可以挂起的流程——一个函数,运行到中间位置,如果能暂停(让出执行机会),并且能通过外部恢复到暂停时到状态继续执行。
我们姑且称这个保存运行状态,并让出执行机会的行为叫yield。实现yield,就有了实现协程的基础。
现在展开来看,yield需要做如下工作:
*上下文切换(scope内的变量、状态,以及当前运行位置)
*把当前任务变为等待状态,让出执行机会给调度器
!! 上下文切换
上下文是指代码运行到yield时,其使用到的''变量,包括局部变量、调用逻辑等相关状态''。在一般操作系统线程实现里,上下文包括若干寄存器量和存在于内存中的一片栈空间,以及一些其他状态量。
这里有个很讨巧的点——我们谈及的是“上下文”。如果有操作系统线程相关知识,那么很容易就会注意到:上下文不是就在栈上么?为什么不说栈切换呢?
!! 无栈协程
''栈作为天然的上下文,切换了栈就能切换程序当前线程的运行状态和返回地址,似乎是默认选项。但毕竟协程与线程不是一回事,如果协程不使用任何栈相关状态(或只使用有限的部分栈状态),所有的局部量都保存为堆上的上下文对象,我们可以不去考虑栈,而把协程切换变为单纯的函数调用,把上下文保存在堆里。''
在许多语言VM/Runtime中,“栈”本就不是与操作系统意义上的栈同等的概念,完全可以使用堆上上下文量替换;即使语言本身使用栈,只要约定使用协程的部分不使用栈上量直接作为上下文,而只是保留一个堆上上下文指针,就可以留下操作空间。
无栈协程的实现相对简单一些,至少不需要和栈机制去死磕了。诸如Python就使用了解释器维护的栈,用Generator实现协程(可以从genobj源码顺藤摸瓜查看实现);而Generator则是在解释器层面内自行维护了切换点,并不借助实际线程栈的切换。但是需要用户或者语言达成约定避免直接使用栈上量,仍需要牺牲一些便捷性。
!! 有栈协程
CPU实现栈切换是有标准的
[[Coroutine]]
[[也来说说协程(1)——由来和概念|https://zhuanlan.zhihu.com/p/204965836]]
2013年,C10K问题迅速成为了技术领域迫切需要尝试解决的问题:10K个Client同时连接到一个Server,如何提供服务?
在2003年,这却是个大问题:在互联网用户较少的早期,一个网络服务通常不会有太多用户,加之大多数的服务不过是提供一个HTML,交互较少,所以往往使用的是一个进程服务一个连接的形式;而进程不仅仅存在进程数限制,还存在进程切换和通讯带来的巨大代价。改用一个线程服务一个连接模型,能够一定程度减少部分开销,但也只是勉强够用而已。更好的解决办法在哪里?许多人都进行了有意义的尝试,其中实践很多并被证明有效的模型之一便是
<<<
一个操作系统级线程向多个Client提供服务;利用非阻塞(non-block)或异步(asynchronous)IO;尽量减少内存复制
<<<
解决问题的核心,在于减少无效的资源使用(过多的线程);方式,则是由于IO慢于计算,等待IO的过程应该把资源让出去做其他的事情。借助poll/select/epoll进行网络IO(还包括使用posix-aio/libaio进行磁盘IO),就可以实现这样的服务了。
!! 优点
协程的存在对于操作系统而言是不可知的,所以协程也没必要通知内核,协程的切换无需进入内核态进行调度,也无需保留系统线程必须的其他资源,只需要调整上下文即可,切换几个寄存器和少量状态量的开销仅仅是数ns而已;协程是应用自身实现的,协程换出是程序确认需要换出时才会发生,换入也可以到应用确实结束等待时再换入,可以减少无意义的切换。换而言之,使用协程(或者叫用户态线程)的线程创建、调度的开销会远低于操作系统线程。
由上,尽管在线程数不多,以CPU计算为主的情况,协程的优势也就不明显;但如果待执行的任务里存在大量等待(例如IO任务必然伴随大量等待),对比系统线程,协程将具备特别明显的优势。
[[Linux CPU Performance Tools]]
性能分析工具给出的都是间隔一段时间的平均 CPU 使用率,所以要注意间隔时间的设置
[[Computer Architecture]]
<<<.big.quote
关系: 一个CPU可以有多个[[physical core/processor(物理核)]]。如果开启了[[Hyper-threading(超线程)]],一个物理核可以分成n个 [[logical core/processor(逻辑核)]],n为超线程的数量。
<<<
<div class="tc-table-of-contents">
<<toc-selective-expandable 'CPU' sort[ind]>>
</div>
[[Network best practice]]
Use [[iptables]]
假设 机器A IP是 IPa, 机器B 的IP是IPb:
!! No route to host
* Produce: Add this to server `iptables -I INPUT -s IPa -j REJECT --reject-with icmp-host-prohibited`, so that all packets from machine A will be rejected.
* Recover: `iptables -vnL |less` to find the adding rule, delete it using `iptables -D INPUT 1`, notice that 1 is the sequence of the rule INPUT
!! Connection refused
* Produce: `iptables -I INPUT -s IPa -j DROP`, drop all the packets from A
* Recover: like above
!! Blackhole
* Produce: `ip route add blackhole IPa/32` , client will find no route to server B
* Recover: `ip route delete blackhole IPa/32` remove the rule
!! Packet loss
`tc qdisc change dev xxx root netem loss 25%`
[[k8s controllers]]
To run a pod on all cluster nodes, you create a DaemonSet object, which is much like a ReplicationController or a ReplicaSet, except that pods created by a DaemonSet already have a target node specified and ''skip the Kubernetes Scheduler''. They aren’t scattered around the cluster randomly.
[[shared-nothing architecture(无共享架构)]]
* 复制(Replication): 在几个不同的节点上保存数据的相同副本,可能放在不同的位置。 复制提供了冗余:如果一些节点不可用,剩余的节点仍然可以提供数据服务。 复制也有助于改善性能。
* 分区 (Partitioning): 将一个大型数据库拆分成较小的子集(称为分区(partitions)),从而不同的分区可以指派给不同的节点(node)(亦称分片(shard)
[[Algorithm And Data Structure]]
*Did not demonstrate in depth understanding of how [[database transactions]] tr work and when to use them.
*Had limited experience with relational databases and did not understand the tradeoff between SQL and NoSql database.
[[Step 2: Abstract design]]
[[Relational database]]
从概念上讲,事务中的所有读写操作被视作单个操作来执行:整个事务要么成功(提交(commit))要么失败(中止(abort),回滚(rollback))。如果失败,应用程序可以安全地重试。
[[Database]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'DB Concurrency control' sort[ind]>>
</div>
[[DP questions category]]
The general problem statement for this pattern is forgiven situation decide whether to use or not to use the current state. So, the problem requires you to make a decision at a current state.
### Statement,问题描述
> Given a set of values find an answer with an option to choose or ignore the current value.
### Approach,解决方法
> If you decide to choose the current value use the previous result where the value was ignored; vice-versa, if you decide to ignore the current value use previous result where value was used.
```cpp
// i - indexing a set of values
// j - options to ignore j values
for (int i = 1; i < n; ++i) {
for (int j = 1; j <= k; ++j) {
dp[i][j] = max({dp[i][j], dp[i-1][j] + arr[i], dp[i-1][j-1]});
dp[i][j-1] = max({dp[i][j-1], dp[i-1][j-1] + arr[i], arr[i]});
}
}
```
[198. House Robber](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/house-robber/) `Easy`
```cpp
for (int i = 1; i < n; ++i) {
dp[i][1] = max(dp[i-1][0] + nums[i], dp[i-1][1]);
dp[i][0] = dp[i-1][1];
}
```
[121. Best Time to Buy and Sell Stock](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/best-time-to-buy-and-sell-stock/) `Easy`
[714. Best Time to Buy and Sell Stock with Transaction Fee](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/) `Medium`
[309. Best Time to Buy and Sell Stock with Cooldown](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/) `Medium`
[123. Best Time to Buy and Sell Stock III](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/) `Hard`
[188. Best Time to Buy and Sell Stock IV](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/) `Hard`
I hope these tips will be helpful
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6uvrS0tLXVxcTp069f333x86dAj5iXR2dnZGRoaPjw/S3UieZRnfmpKSgsFgVq1aNWvWLBsbGxqNFhERUVRUFB8f7+7ufuHChfXr169atYpOpwuFwtDQ0KtXr168ePHXX39lMplVVVVms1mv16vVah8fnw0bNhw9etTPz6+8vBwZVhweHv7TTz85OjpyOJycnJyenp6pdaVN+db29vbm5eVxOBw7O7vNmzdv2bJl27Ztq1atmj9//s6dOyMiItRqtdFofPDgQVNTU3Jy8q1bt1auXLlw4cLjx487OzuTyWQKhYLFYm/evGljYzN37txly5a5uLggg7gZDIajo+OZM2doNFpVVZVMJrt7966HhwcyNJvD4bQOFT6f7+HhgewHO1R8fHySk5Orq6vlcvn489bY2Nj9+/ePGN+KxWIXLly4dOnSw4cPX/rPcubMmR9//NHGxmb79u0//vhjcHBwa2trX18fpK5T/rIAABAAARAAARAAARAAgacoAHnrU8SFXYMACIwtgOStfD7//PnzW7ZsQaFQiYmJ586d+/DDD7dv385gMIqLi5GnJMlksvb2dmdn56VLl+7duzcwMLCurg6Zm1Uqlba1tbm7u69bt+7IkSPBwcEFBQWxsbFMJtPOzm779u2urq5tbW1arVahUOTm5tra2s6cOfPmzZsCgaC3t1er1ep0OrVa3T9UkN/7Wx4k9WfzVnt7exKJFB4eXldX19raSiAQFi9ePHv27LfffvvNN99862F58803X3/99VdfffXtt9+eMWPGsWPHUlNT+/v7HzWvaFNTE4lE2rZtG4FAQIbKajSayspKEolkY2Ozb9++Q4cO+fr6dnZ2Ig/JEQgEcXFxgYGB+fn5HR0dyDytwcHBW7du3bt3b2hoaHd3t0qlMhgMlZWVoaGhUVFR2dnZNTU13d3darW6t7e3vb2dSqWuWLHi0KFDgYGB5eXltbW1BQUFZ8+effnll48fP56UlNTU1CSTyRQKhUgkysnJsbOzmzVr1qVLl4qLixMSEmxtbbds2XL9+vXg4OCSkhKlUjkwVAQCAfK77B9//HHbtm0cDscyvpVAIGzevPnrr792c3Nrb2+XyWQajUahUHR0dPD5/JMnT65evRqPxxcXFyclJQUGBqJQKGSyguzsbKPRqFKppFKps7PzwoULDx06xOfze3p6NBqNUqmMiYm5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
[[System Design Interview Examples]]
{{DesignTwitterPic.png}}
[[System Design Interview Examples]]
[img[https://www.raychase.net/wp-content/uploads/2020/09/Dropbox-1.png]]
[[System Design Interview Examples]]
{{designFBMessenger.png}}
[[System Design Interview Examples]]
{{designNewsFeed.png}}
[[System Design Interview Examples]]
{{designInstagram.png}}
[[System Design Interview Examples]]
{{ designRateLimiter.png}}
[[System Design Interview Examples]]
[img[https://www.raychase.net/wp-content/uploads/2020/09/Uber.png]]
[[System Design Interview Examples]]
!! Points
* What if we generate the same url id for diff contents
* Generating keys offline by using [[Key Generation Services(KGS)]] to generate key
*
{{degisnURLShortening.png}}
[[System Design Interview Examples]]
{{designWebCrawler.png}}
[[System Design Interview Examples]]
{{designYoutube.png}}
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57/B4X+dXQCgf+yxx6ZOnbp27dpjx45lZmZC784gEEhFRQXI187MzEztP0tOTj537tzJkycPHTq0Z8+enf1nW7duXb58+dy5cz/vP5s1a9Z77703efLkcePGjRo16rX+s2efffahhx66M5b9U5+97777QAHSQYMGPf3008/3n7344ouvvPLK6NGjY2Ji3nrrrUn9Z9OmTZs1a9b8+fMX3CubO3fum2++OWjQoDuf64EDBz711FMjR46cOnXqvHnz1q1bd+TIEYDmcThcR0dHfn5+fHz8/AXz35701tAXhk6b9c6K7bEHk3dfgZyppOXVMAvqONFSsSV3YPTFhMxU6JnDqd8v3fLl2++PHzvh9clTJn366acHDx4E+aO9tYv/Ohep6DuJeuDv6oEooP/FmXU6nUC9fe/evR988MGECROOHz/O4XDurAnT3d0dDAZ9Pp9erxcIBDweT6vVejwemUzW0tKSnp6+ZMmSp59++tFHHx06dOiYMWO++OKLHTt2HDhw4IcffoiPj//yyy/HjRs3ffr0+Pj48vJyKpUKlO4B9C8sLFy+fHlMTMx77733xRdfrFmzZt++fadPn46Pj1+5cuWcOXMmTZo0atSoHTt21NfXUygUKBR65cqVXbt2zZs3b+LEiSNGjBg8ePCoUaM++uijdevWpaamEolEhULhdN42u8dgMDQ3N1++fHnVqlVvvvnmiBEjFi5cePTo0evXr2MwGD6fD0RyIsn+brcbqMTqdDog4A5yMIFYUEZGxuLFi2NiYt55550ZM2bExsZu27Ztz549ixcvfvvtt8eNG/fOO+98+umnFy5cYLFYJpNJrVYLBIKLFy9+9NFHw4YNGzly5BtvvDFy5Mhhw4a99tprs2fP3rx58/r165cuXfrVV1+tWrVqy5YtaWlpHR0dkRMJxjZsNltWVtZnn302ffr0PXv2QKFQKpWq0WgkEklWVtby5cs/+uijiRMnjhs3buHChfHx8Tt27Fi6dOknn3wyderUmJiYefPmXb58mcViKRQKm83GYrFOnz79/vvvv/XWW2Aa4Kuvvjp8+PDXX3990qRJX3zxRUJCAhqNvnHjxpo1a15//fX3339/0aJF69ev37t3b2Ji4oYNG2bNmjVhwoSYmJgxY8Zs3bq1rq5Op9M5neF7zsg7v5vG3wbQq9VqIpEIVID+2wz6SFI8UHuI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YcOGdW++GjVq1LRp0/fee+/o0aNClE4Ryglk/kCSiIiIo0ePbty4ce7cuW+88caAAQO6du3apk2bZs2a3XvvvXXq1Klbt279+vWff/75devWKWdAQ84XyMjIuHbt2tmzZ3ft2vXdd9+NHz/+2Wef7dmz50MPPdSiRYuGDRvWufXK/Pkh165d49dvOn9sqlcQFxcXGhp66NChpUuXTpkyZdSoUf379+/UqVPLli3vvffeunXr1qlT59577x00aNDMmTPXrl175swZ1Umc319SUlJwcPChQ4emTZvWsmXLypUrDxkyZPHixQcOHIiIiHB+fVSAAAIIyCmwbNmyLl26uLi43HPz1b179+XLl6empvKfbss5T6pGwCwBAnqzZFkXATMEgoODFy5cOGTIEB8fnxYtWnTp0sXPzy8qKsqMveRdMyUlJTExMTw8/NSpU3v37l2/fv2PP/44b968OXPmzJo16z//+c+HN1//+c9/Pvroow0bNoSGhsrbLJWLLJD5L0kzc6hTp07t3r179erVixYt8vPzmzNnzscffzxz5szMq3HGjBlLly49efKkyO1Qm7wCiYmJV69eDQoK2rdv32+//bZkyZLvvvvuiy++mD17duYfidNvvlauXHnmzJnExER+/aa8s5al8uTk5JiYmIsXLx4+fHjTpk2//PLL999/P3fu3E8//TTrD8aZM2f+97//3bp1a0BAwJUrV2RpTd464+LiTp486e/vP2HChGbNmnl5eY0aNWr9+vV///03v6tc3rFSOQIIOF3g559/fvzxx4sVK1a4cGEXF5cuXbosXLgwIiIiLi6OXzTl9OlQAALiCBDQizMLKkEgf4FLly79/PPPY8aM6dGjR6NGjR544IE5c+ZERkbmf6ZOR2TcfKWmpl6/fj0hISEmJiYqKirr18yG3/aKiIiIjY1NSUnRiYderRbI/AWz169fz/yNx5GRkTlejVFRUdevX7e6OPbTQyDzF8wmJyfn/UdidHT09evX+UlfelwUTu4yIyMj88/GxMTE2NjYa9euRUZGZv6a2dv+lg6PioqKi4tLSkoiwrBgYNHR0QcOHFi2bNkrr7zSqFGjatWqvfHGG3v37g0NDU1ISLCgALZAAAEElBRYvnx5z549S5cuXaxYMRcXlw4dOnz++eenTp2KiIjgOVTJidMUAo4JENA75sZZCDhHICws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9s2aNatbt+7jjz/++uuvf/XVV1u2bAkLC4uLi0tJScm2FN8igAACCDgmQEDvmBtnIaCbAAG9bhOnX6UEMjIyrl+/HhcXd/DgwQULFowdO7Zr167e3t5VqlSpU6dOixYtnnzyyfHjx8+ePXvhwoWrV6/eu3dvUFDQFV65CwQHBwcEBOzYsWPhwoXvvvuur6/vzJkz/fz8Nm/eDF3ubHxivMDFixf//vvvAwcO/PTTTzNmzJg0adKHH374+eefr1mzJiAgwPj9WBGBXATOnTu3YsWKKVOmvHXz5evru3z58jNnzuRyOG8jYLrAmTNnNmzY8NVXX82YMWPy5MkffPDB4sWL9+zZc/LkyeDgYNO3l2qD4ODgkydP/vnnnxs3bly2bNnnn38+efLk4cOHP/zww56enuXLl69Zs2azZs1efvnlxYsXHzlyJCwsjJ9so9SjAs0ggIAAAgT0AgyBEhCQQICAXoIhUSICuQlkZGSkpqZev349JCRk3759y5cvnzVr1osvvtirV6+2bds2bNiwdevWXbp06dOnz6BBg0aMGDFmzJh33313Gq/cBd57772JEye+/vrrgwYN6nrz1atXrwEDBrz88svQ5c7GJ8YLvP/++++88864ceOGDRvWs2fPLl26dO/evW/fviNGjJg4caLx+7EiArkITJ48+fnnn3/sscc63Xx17dr1ueeemzRpUi6H8zYCpgtMmjRp1KhR/fv379mzp4+Pz+OPP/7ss8+OGTPm7bffnjJliunbS7XBlClT3n777bFjx44aNWro0KH9+vXz8fFp165dmzZtWrVq5ePjM2LEiKlTp/7444/79++/ePFiTEwMAX1ud928jwACCDgmQEDvmBtnIaCbAAG9bhOnXwUFMjIykpOTM39s+sGDB1etWjVt2rTevXvXrFnTy8urQoUK7u7uFStWrFy5speXl7e3dw1euQt4e3tXq1bN09OzYsWK5W6+3N3dK1So4OnpCV3ubHxivED16tWrVatWtWrVSpUqubu7lytXrnz58h4eHpUrV65WrZrx+7EiArkIeHt7V65cuXz58m43X+XKlatUqRJ/HuaixdtWCGT+l4IeHh5ZfzZWrFjRy8urWrVq1atXt6ICefbI/KvEy8urSpUqlSpV8vDwyPzb5P777+/Xr98777yzbNmykydPZkbzycnJ/LodBZ8TaAkBBJwtQEDv7AmwPwJyCBDQyzEnqkTAFoG0tLTLly+fPHlyzZo106ZNGzx48BNPPNG1a9cOHTq0a9fugQceaNKkSb169f7NK3eBmjVrVqtWrXLlyqVLl3a9+SpatGjJkiUrVqxYo0aN3M/jEwQMFqhVq5a3t7enp6ebm1uRIkVcXFwKFy5cvHhxd3f3atWqGbwZyyGQu0D16tXLly9fqFChf918ubq6litXrnr16rmfwScImCtQvXp1Dw+PEiVKFClSxNXVtVChQmXLlq1SpYq3t3fNmjXN3Vu21evWrduwYcPGjRs3a9asRYsWbdu27dixY7du3V566aWZM2f+8ssvR44cSUhISE5O5vfr2nKnzTEIIICAAwIE9A6gcQoCGgoQ0Gs4dFpWViAjIyMxMTEyMvLcuXP79u3L/OVpS5YsmTdv3ieffDJlypQxY8YMHTr0SV65C/Tq1cvHx6dNmzY1atQoevNVtmxZLy+vFi1a9OjRI/fz+AQBgwX69Onz2GOPdejQoV69emXKlClcuHDp0qUrVKjQuHFjHx8fgzdjOQRyF+jevXvDhg2LFy+eGdAXLVq0QYMG3bp1y/0MPkHAXIFu3bo1a9ascuXKZcqUKVKkSIkSJWrXrt2+ffuuXbv27t3b3L1lW33w4MEvvPDCa6+9Nn78eF9f348//nj+/Pm//vrr77///ueff54+ffry5cupqamk88o+G9AYAggIIEBAL8AQKAEBCQQI6CUYEiUi4LBA5o++CQsLCwgI2Llz5/Lly7/66qv/8Mpd4N133x09evSgQYOaN29eokSJkiVLVq5cuWHDhn379n3nnXdyP49PEDBYYMqUKePGjRsxYsRDDz1UsWLFokWLenh41KpVy8fHZ/To0QZvxnII5C4wceLETp06lSlTJjOgL1myZMeOHcePH5/7GXyCgLkC48eP79mzZ926dStWrFi8eHE3N7dWrVoNGTJk7Nixvr6+5u4t2+pz5syZP3/+smXL1q5d+8cff5w4ceLKlSsO31VyIgIIIICAAwIE9A6gcQoCGgoQ0Gs4dFrWSCAtLS05OTk2NjY8PDwwMPDIkSM7duz4nVfuAsuXL/fz85s0aVLnzp3LlClTtmzZmjVrtm3bduzYscuWLcv9PD5BwGCB1atXL1iwYNasWf369atWrVrx4sW9vLyaNGny3HPP+fn5GbwZyyGQu8DixYufeeYZd3f3zIC+bNmyTz/99KJFi3I/g08QMFdg0aJFL7/8cosWLby9vUuVKlWhQoXu3bu///7733777YoVK8zdW7bVt23btnfv3kOHDv31119nz54NCwuLj4/X6D6YVhFAAAEBBAjoBRgCJSAggQABvQRDokQECiKQkZGRlpaWkpKSlJQUHx8fExNzjVfuAmfOnNm5c+f8+fMHDBiQ+YvUGjZs+Pjjj3/66acnT57M/Tw+QcBggeDg4D///HPVqlUvv/xynTp1SpUqVbt27bZt206ePHnHjh0Gb8ZyCOQucOzYsTfffLNy5cqZAb27u/uYMWMOHTqU+xl8goC5AocOHZoxY8YjjzxSr169zB9DN3To0CVLluzZsycwMNDcvWVbPTo6OjY2Ni4uLiEhISkpiZ81X5A7as5FAAEEHBMgoHfMjbMQ0E2AgF63idMvAgjkJXD58uWjR48uXbp08ODB5cuXd3d3b9SoUa9evfz8/C5dupTXmXyGgKECMTExp06d2rx589ixY+vVq1eyZMmaNWu2bNnyvffeO3TokKFbsRgCeQmcP39+8uTJVapUyQzoPTw8JkyYcPbs2bzO4TMEzBQ4e/bsZ5991qVLlwYNGri5uVWtWvWFF15YtWrViRMnIiMjzdyZtRFAAAEEELBbgIDebjJOQEBLAQJ6LcdO0wggkIsAAX0uMLxttUC2gL548eKenp733nvvhAkT9u/fb3U17KexAAG9xsMXtHUCekEHQ1kIIIAAAjkJENDnpMJ7CCCQXYCAPrsI3yOAgM4CBPQ6T1+o3mNjY0+fPr1t27Zx48bVr1+/aNGi5cuX9/b2Hj169N69e4UqlWLUFiCgV3u+MnZHQC/j1KgZAQQQ0FaAgF7b0dM4AnYJENDbxcXBCCCguAABveIDlqe9pKSk0NDQ48eP+/r6NmrUqFChQiVLlixfvvzIkSN37dolTx9UKr0AAb30I1SuAQJ65UZKQwgggIDKAgT0Kk+X3hAwToCA3jhLVkIAAfkFCOjln6EiHaSmpsbGxoaGhs6aNatp06b33HOPq6tr4cKFhw4dun37dkWapA0ZBAjoZZiSXjUS0Os1b7pFAAEEJBcgoJd8gJSPgEUCBPQWQbMNAghIIUBAL8WYdCgyPT09OTk5Jibms88+a968eebv5/zXv/41ePDgbdu26SBAj4IIENALMgjKyBIgoM+i4AsEEEAAAfEFCOjFnxEVIiCCAAG9CFOgBgQQEEWAgF6USWhfR0ZGRlpaWlJS0pdffnn//fcT0Gt/RTgNgIDeafRsnIsAAX0uMLyNAAIIICCiAAG9iFOhJgTEEyCgF28mVIQAAs4TIKB3nj075yCQlpb29ddft2jRgoA+Bx3eskSAgN4SZjaxQ4CA3g4sDkUAAQQQcLYAAb2zJ8D+CMghQEAvx5yoEgEErBEgoLfGmV1sFCCgtxGKw8wTIKA3z5aVHRMgoHfMjbMQQAABBJwiQEDvFHY2RUA6AQJ66UZGwQggYKIAAb2JuCxtvwABvf1mnGGwAAG9waAsV2ABAvoCE7IAAggggIB1AgT01lmzEwIyCxDQyzw9akcAAaMFCOiNFmW9AgkQ0BeIj5ONECCgN0KRNYwUIKA3UpO1EEAAAQRMFiCgNxmY5RFQRICAXpFB0gYCCBgiQEBvCCOLGCVAQG+UJOs4LEBA7zAdJ5okQEBvEizLIoAAAgiYIUBAb4YqayKgngABvXozpSMEEHBcgIDecTvONEGAgN4EVJa0T4CA3j4vjjZfgIDefGN2QAABBBAwTICA3jBKFkJAaQECeqXHS3MIIGCnAAG9nWAcbq4AAb25vqxugwABvQ1IHGKpAAG9pdxshgACCCBQMAEC+oL5cTYCuggQ0OsyafpEAAFbBAjobVHiGMsECOgto2aj3AQI6HOT4X1nCRDQO0uefRFAAAEEHBAgoHcAjVMQ0FCAgF7DodMyAgjkKkBAnysNHzhDgIDeGerseYcAAf0dHHwjgAABvQBDoAQEEEAAAVsFsgX0rVq18vX13bJly+nTpxMTE21dheMQQEB1AQJ61SdMfwggYI8AAb09WhxrugABvenEbJCfAAF9fkJ8brUAAb3V4uyHAAIIIFAAgWwBfYsWLd56663Vq1efOHEiPj6+AAtzKgIIKCVAQK/UOGkGAQQKKEBAX0BATjdWgIDeWE9Wc0CAgN4BNE4xVYCA3lReFkcAAQQQMFZg69atb775Ztu2bWvUqFG0aNGmTZu+9tprS5YsOXjwYGxsrLF7sRoCCMgrQEAv7+yoHAEEjBcgoDfelBULIEBAXwA8TjVGgIDeGEdWMU6AgN44S1ZCAAEEEDBdYPfu3R988EG3bt0aNmxYvHjxRo0ajRgxYt68ebt3746JiTF9ezZAAAFJBAjoJRkUZSKAgCUCBPSWMLOJrQIE9LZKcZxpAgT0ptGysIMCBPQOwnEaAggggIAzBA4cOPDZZ58988wz999/f8mSJevXr//MM8/Mnj1769at165dc0ZF7IkAAiIKENCLOBVqQgABZwkQ0DtLnn1zFCCgz5GFN60UuHDhgq+vb7Vq1VxdXV1cXNzd3ceMGXPkyJH4+PiUlBQrK2EvBDIFCOi5EhBAAAEEJBI4cuTIN99888ILL7Ru3bpUqVJ169Z96qmnZs6c+fvvv0dFRUnUCKUigICpAgT0pvKyOAIISCZAQC/ZwFQvl4Be9QlL0F9wcPD7779fq1atokWLFipUqFy5ci+88MKmTZuCg4P5wakSzE/FEgnoVZwqPSGAAALKChw7dmz+/Pkvv/xy+/btCeiVHTONIVBgAQL6AhOyAAIIKCRAQK/QMFVohYBehSlK3kNISMi0adPq169funTpIkWKlC1bduDAgYsXLz5y5EhERITkzVG+lAIE9FKOjaIRQAABXQVOnDixaNGi0aNHP/TQQwT0ul4F9I1A/gIE9PkbcQQCCOgjQECvz6yl6JSAXooxqV3kpUuXZs+e3aZNG09Pz1KlShHQqz1uKbojoJdiTBSJAAIIIJApQEDPlYAAArYIENDbosQxCCCgiwABvS6TlqRPAnpJBqVymWFhYd988023bt3q169fvnx5AnqVhy1JbwT0kgyKMhFAAAEE/l+AgJ7rAAEEbBEgoLdFiWMQQEAXAQJ6XSYtSZ8E9JIMSuUyw8PDv/vuuyeeeKJx48YeHh4E9CoPW5LeCOglGRRlIoAAAgj8vwABPdcBAgjYIkBAb4sSxyCAgC4CBPS6TFqSPgnoJRmUymUS0Ks8XTl7I6CXc25UjQACCGgqQECv6eBpGwE7BQjo7QTjcAQQUFqAgF7p8crXHAG9fDNTrmICeuVGKn1DBPTSj5AGEEAAAZ0ECOh1mja9IuC4AAG943aciQAC6gkQ0Ks3U6k7IqCXenxqFE9Ar8YcVeqCgF6ladILAgggoLwAAb3yI6ZBBAwRIKA3hJFFEEBAEQECekUGqUobBPSqTFLiPgjoJR6eoqUT0Cs6WNpCAAEE1BQgoFdzrnSFgNECBPRGi7IeAgjILEBAL/P0FKydgF7BocrWEgG9bBNTv14CevVnTIcIIICAQgIE9AoNk1YQMFGAgN5EXJZGAAHpBAjopRuZ2gUT0Ks9Xym6I6CXYkxaFUlAr9W4aRYBBBCQXYCAXvYJUj8C1ggQ0FvjzC4IICCHAAG9HHPSpkoCem1GLW6jBPTizkbXygjodZ08fSOAAAJSChDQSzk2ikbAcgECesvJ2RABBAQWIKAXeDg6lkZAr+PUBeuZgF6wgVDOjWwBvaen5zPPPLNgwYI9e/aEh4cDhAACCCCAgFACBPRCjYNiEBBWgIBe2NFQGAIIOEGAgN4J6GyZuwABfe42fGKRAAG9RdBsY7NAtoC+UqVKTzzxxCeffLJp06bg4GCbl+FABBBAAAEErBAgoLdCmT0QkF+AgF7+GdIBAggYJ0BAb5wlKxkgQEBvACJLFEyAgL5gfpxtvMC5c+c+//zzxx9/vFGjRuXKlatQoUL37t3ff//9VatWBQYGGr8fKyKAAAIIIFAAAQL6AuBxKgIaCRDQazRsWkUAgXwFCOjzJeIAKwUI6K3UZq8cBQjoc2ThTScKBAYGzp07t3fv3k2bNnV3d/fw8OjateukSZOWL19+9uxZJxbG1ggggAACCNwtQEB/twnvIIDA3QIE9Heb8A4CCOgrQECv7+yF7JyAXsix6FUUAb1e85ah2/Pnz8+bN+/JJ59s0aJFhQoV3N3dH3300bfeemvp0qWnT5+WoQNqRAABBBDQSICAXqNh0yoCBRAgoC8AHqcigIByAgT0yo1U7oYI6OWenxLVE9ArMUalmggJCVmyZMmoUaM6dOhQpUoVAnqlpkszCCCAgHICBPTKjZSGEDBFgIDeFFYWRQABSQUI6CUdnKplE9CrOlmJ+iKgl2hYmpQaFha2atWqd955p3v37t7e3gT0msydNhFAAAFJBQjoJR0cZSNgsQABvcXgbIcAAkILENALPR79iiOg12/mwnVMQC/cSLQvKDw8vTS1FgAAIABJREFUfN26dVOnTn3iiSdq1KhBQK/9FQEAAgggILQAAb3Q46E4BIQRIKAXZhQUggACAggQ0AswBEr4R4CA/h8LvnKSAAG9k+DZNlcBAvpcafgAAQQQQEA8AQJ68WZCRQiIKEBAL+JUqAkBBJwlQEDvLHn2zVGAgD5HFt60UoCA3kpt9rJFgIDeFiWOQQABBBAQRICAXpBBUAYCggsQ0As+IMpDAAFLBQjoLeVms/wECOjzE+Jz0wUI6E0nZgM7BQjo7QTjcAQQQAABZwoQ0DtTn70RkEeAgF6eWVEpAgiYL0BAb74xO9ghQEBvBxaHmiNAQG+OK6s6LkBA77gdZyKAAAIIWC5AQG85ORsiIKUAAb2UY6NoBBAwSYCA3iRYlnVMgIDeMTfOMlCAgN5ATJYyRICA3hBGFkEAAQQQsEaAgN4aZ3ZBQHYBAnrZJ0j9CCBgpAABvZGarFVgAQL6AhOyQEEFCOgLKsj5RgsQ0BstynoIIIAAAiYKENCbiMvSCCgkQECv0DBpBQEECixAQF9gQhYwUoCA3khN1nJIgIDeITZOMlGAgN5EXJZGAAEEEDBagIDeaFHWQ0BNAQJ6NedKVwgg4JgAAb1jbpxlkgABvUmwLGu7AAG97VYcaY0AAb01zuyCAAIIIGCIAAG9IYwsgoDyAgT0yo+YBhFAwA4BAno7sDjUfAECevON2SEfAQL6fID42HIBAnrLydkQAQQQQMBxAQJ6x+04EwGdBAjodZo2vSKAQH4CBPT5CfG5pQIE9JZys1lOAgT0OanwnjMFCOidqc/eCCCAAAJ2ChDQ2wnG4QhoKkBAr+ngaRsBBHIUIKDPkYU3nSVAQO8sefbNEiCgz6LgC0EECOgFGQRlIIAAAgjYIkBAb4sSxyCAAAE91wACCCDwjwAB/T8WfCWAAAG9AEPQvQQCet2vAPH6J6AXbyZUhAACCCCQqwABfa40fIAAArcJENDfhsGXCCCgvQABvfaXgFgABPRizUPLagjotRy70E0T0As9HopDAAEEELhTIFtAX6dOnX79+k2bNm3jxo1RUVF3Hst3CCCgrwABvb6zp3MEELhbgID+bhPecaIAAb0T8dk6U4CAnitBNAECetEmQj0IIIAAAnkIZAvoa9eu3bt3b19f37Vr10ZGRuZxIh8hgIBWAgT0Wo2bZhFAIB8BAvp8gPjYWgECemu92S0HAQL6HFB4y6kCBPRO5WdzBBBAAAH7BAICAn788cc333yzY8eOpUuXrlGjRteuXceNG7dixYorV67YtxZHI4CAugIE9OrOls4QQMB+AQJ6+804w0QBAnoTcVnaNgECetucOMo6AQJ666zZCQEEEECgwAJnzpxZuXLllClTfHx8ypQp4+np2a5du+eee27x4sXh4eEFXp4FEEBAEQECekUGSRsIIGCIAAG9IYwsYpQAAb1RkqzjsAABvcN0nGiSAAG9SbAsiwACCCBghkBQUNDGjRs/+uijHj16lC1b1sPDo3Hjxn369Jk3b15oaKgZO7ImAgjIKEBAL+PUqBkBBMwSIKA3S5Z1HRIgoHeIjZOMFCCgN1KTtYwQIKA3QpE1EEAAAQQsErh48eL27dvnzp3bt2/fcuXKubu7N2rUqFevXn5+fpcuXbKoCLZBAAHhBQjohR8RBSKAgIUCBPQWYrNV/gIE9PkbcYTJAgT0JgOzvN0CBPR2k3ECAggggIDzBMLDww8cOLBo0aKBAweWL1+egN55o2BnBIQWIKAXejwUhwACFgsQ0FsMznZ5CxDQ5+3DpxYIENBbgMwWdgkQ0NvFxcEIIIAAAs4V4AHTuf7sjoAsAgT0skyKOhFAwAoB7p+sUGYPmwUI6G2m4kCzBAjozZJlXUcFCOgdleM8BBBAAAEnCPCA6QR0tkRAQgECegmHRskIIGCaAPdPptGysCMCBPSOqHGOoQIE9IZyspgBAgT0BiCyBAIIIICAVQI8YFolzT4IyC1AQC/3/KgeAQSMFeD+yVhPViugAAF9AQE5veACBPQFN2QFYwUI6I31ZDUEEEAAAVMFeMA0lZfFEVBGgIBemVHSCAIIGCDA/ZMBiCxhnAABvXGWrOSgAAG9g3CcZpoAAb1ptCyMAAIIIGC8AA+YxpuyIgIqChDQqzhVekIAAUcFuH9yVI7zTBEgoDeFlUXtESCgt0eLY60QIKC3Qpk9EEAAAQQMEuAB0yBIlkFAcQECesUHTHsIIGCXAPdPdnFxsNkCBPRmC7N+vgIE9PkScYDFAgT0FoOzHQIIIIBAQQR4wCyIHucioI8AAb0+s6ZTBBDIX4D7p/yNOMJCAQJ6C7HZKmcBAvqcXXjXeQIE9M6zZ2cEEEAAAbsFeMC0m4wTENBSgIBey7HTNAII5CLA/VMuMLztHAECeue4s+ttAgT0t2HwpRACBPRCjIEiEEAAAQRsE+AB0zYnjkJAdwECet2vAPpHAIHbBbh/ul2Dr50uQEDv9BFQAAE914BoAgT0ok2EehBAAAEE8hDgATMPHD5CAIEsAQL6LAq+QAABBG5w/8RFIJQAAb1Q49CzGAJ6PecuctcE9CJPh9oQQAABBLIJ8ICZDYRvEUAgRwEC+hxZeBMBBDQV4P5J08GL2jYBvaiT0aguAnqNhi1JqwT0kgyKMhFAAAEE/l+AB0yuAwQQsEWAgN4WJY5BAAFdBLh/0mXSkvRJQC/JoFQuk4Be5enK2RsBvZxzo2oEEEBAUwEeMDUdPG0jYKcAAb2dYByOAAJKC3D/pPR45WuOgF6+mSlXMQG9ciOVviECeulHSAMIIICATgI8YOo0bXpFwHEBAnrH7TgTAQTUE+D+Sb2ZSt0RAb3U41OjeAJ6NeaoUhcE9CpNk14QQAAB5QV4wFR+xDSIgCECBPSGMLIIAggoIsD9kyKDVKUNAnpVJilxHwT0Eg9P0dIJ6BUdLG0hgAACagrwgKnmXOkKAaMFCOiNFmU9BBCQWYD7J5mnp2DtBPQKDlW2lgjoZZuY+vUS0Ks/YzpEAAEEFBLgAVOhYdIKAiYKENCbiMvSCCAgnQD3T9KNTO2CCejVnq8U3RHQSzEmrYokoNdq3DSLAAIIyC7AA6bsE6R+BKwRIKC3xpldEEBADgHun+SYkzZVEtBrM2pxGyWgF3c2ulZGQK/r5OkbAQQQkFKAB0wpx0bRCFguQEBvOTkbIoCAwALcPwk8HB1LI6DXceqC9UxAL9hAKOcGAT0XAQIIIICARAI8YEo0LEpFwIkCBPROxGdrBBAQToD7J+FGondBBPR6z1+I7gnohRgDRdwmQEB/GwZfIoAAAgiILsADpugToj4ExBAgoBdjDlSBAAJiCHD/JMYcqOJ/AgT0XApOFyCgd/oIKCCbAAF9NhC+RQABBBAQWYAHTJGnQ20IiCNAQC/OLKgEAQScL8D9k/NnQAW3CRDQ34bBl84RIKB3jju75i5AQJ+7DZ8ggAACCAgnwAOmcCOhIASEFCCgF3IsFIUAAk4S4P7JSfBsm7MAAX3OLrxroQABvYXYbGWTAAG9TUwchAACCCAghgAPmGLMgSoQEF2AgF70CVEfAghYKcD9k5Xa7JWvAAF9vkQcYLYAAb3ZwqxvrwABvb1iHI8AAggg4EQBHjCdiM/WCEgkQEAv0bAoFQEETBfg/sl0YjawR4CA3h4tjjVFgIDeFFYWLYAAAX0B8DgVAQQQQMBqAR4wrRZnPwTkFCCgl3NuVI0AAuYIcP9kjiurOihAQO8gHKcZJ0BAb5wlKxkjQEBvjCOrIIAAAghYIsADpiXMbIKA9AIE9NKPkAYQQMBAAe6fDMRkqYILENAX3JAVCihAQF9AQE43XICA3nBSFkQAAQQQME+AB0zzbFkZAZUECOhVmia9IIBAQQW4fyqoIOcbKkBAbygnizkiQEDviBrnmClAQG+mLmsjgAACCBgswAOmwaAsh4CiAgT0ig6WthBAwCEB7p8cYuMkswQI6M2SZV2bBQjobabiQIsECOgtgmYbBBBAAAEjBHjANEKRNRBQX4CAXv0Z0yECCNgucOXKlePHj//000/PPvusu7t7uXLl6tWr99hjj82dO/fSpUu2r8ORCBgiQEBvCCOLFESAgL4gepxrhgABvRmqrIkAAgggYJIAAb1JsCyLgGICBPSKDZR2EECgQAKRkZEnT55cuXLlc8895+HhUaJEiYoVKzZr1uw///nPhQsXCrQ0JyNgvwABvf1mnGGwAAG9waAsV2ABAvoCE7IAAggggIB1AgT01lmzEwIyCxDQyzw9akcAAaMFrl27dvbs2bVr144YMcLDw8PFxaVQoUKenp6TJk0KDAw0ejfWQyAfAQL6fID42HwBAnrzjdnBPgECevu8OBoBBBBAwKkCBPRO5WdzBKQRIKCXZlQUigACFggkJCSEhYXt3Lnz1VdfrVix4r9uvipUqDBx4sRz585ZUABbIHC7AAH97Rp87RQBAnqnsLNpHgIE9Hng8BECCCCAgGgCV69e/euvv5YvXz506FB3d/cyZcpUr179wQcf/PTTT0NCQkSrlnoQQMBZAgT0zpJnXwQQEFEgNTU1ISHhxIkTb731VqVKlQjoRRySTjUR0Os0bUF7JaAXdDAal0VAr/HwaR0BBBCQTyAqKurvv/9evXr1888/7+HhUaRIkdKlS9etW/eDDz44f/68fP1QMQIImCNAQG+OK6sigIDMAufPn580aVLlypUJ6GUeowq1E9CrMEXJeyCgl3yACpZPQK/gUGkJAQQQUFcgJibm/Pnz/v7+I0eOrFChAg+Y6o6azhAokAABfYH4OBkBBJQUIKBXcqwyNkVAL+PUFKuZgF6xgSrQDgG9AkOkBQQQQEAfgevXr0dFRR04cGDMmDH8J9r6zJ1OEbBXgIDeXjGORwAB9QUI6NWfsSQdEtBLMiiVyySgV3m6cvZGQC/n3KgaAQQQ0FQgIyMjLS3t3Llzb7/9Nv+JtqYXAW0jYIMAAb0NSByCAAKaCRDQazZwcdsloBd3NtpURkCvzailaZSAXppRUSgCCCCAwC0BHjBvSfC/CCCQswABfc4uvIsAAjoLcP+k8/SF6p2AXqhx6FkMAb2ecxe5awJ6kadDbQgggAACOQrwgJkjC28igECWAAF9FgVfIIAAAv8T4P6JS0EQAQJ6QQahcxkE9DpPX8zeCejFnAtVIYAAAgjkIcADZh44fIQAAjdu3CCg5zJAAAEEsgtw/5RdhO+dJEBA7yR4tv1HgID+Hwu+EkOAgF6MOVAFAggggIAdAjxg2oHFoQhoKUBAr+XYaRoBBPIU4P4pTx4+tE6AgN46a3bKRYCAPhcY3naaAAG90+jZGAEEEEDAUQEeMB2V4zwEdBEgoNdl0vSJAAK2C3D/ZLsVR5oqQEBvKi+L2yJAQG+LEsdYKUBAb6U2eyGAAAIIGCLAA6YhjCyCgMICBPQKD5fWEEDAQQHunxyE4zSjBQjojRZlPbsFCOjtJuMEkwUI6E0GZnkEEEAAAeMFeMA03pQVEVBLgIBerXnSDQIIGCHA/ZMRiqxhgECOAf0ff/yRkZFhwOosgYANAgT0NiBxiKUCBPSWcrMZAggggIARAjxgGqHIGgioLEBAr/J06Q0BBBwT4P7JMTfOMlzg7oB+0KBB/v7+ycnJaWlphm/HggjcLUBAf7cJ7zhXgIDeuf7sjgACCCDggAAPmA6gcQoCWgkQ0Gs1bppFAAGbBLh/somJg8wXuDugf+qpp9atWxcfH5+cnGz+/uyAwA0Cei4C0QQI6EWbCPUggAACCOQrwANmvkQcgIDmAgT0ml8AtI8AAjkIcP+UAwpvOUMgLS3t22+/bd++fbFixQoXLnzPPff07dv3p59+CgsLi42N5QfdOGMm2u1JQK/dyIVvmIBe+BFRIAIIIIBAdgEeMLOL8D0CCNwpQEB/pwffIYAAAjducP/EVSCIQFpa2vfff9+lS5fy5cuXKFHinnvu6d69+7fffhsQEBAREcFPuRFkTGqXQUCv9nxl7I6AXsapUTMCCCCguQAPmJpfALSPQL4CBPT5EnEAAghoJ8D9k3YjF7Xh9PT0H3/8sXfv3tWqVXNzc3NxcenSpcunn366b9++4ODg1NRUUQunLnUECOjVmaUqnRDQqzJJ+kAAAQQ0EuABU6Nh0yoCDgkQ0DvExkkIIKC0APdPSo9XpubS09N/+eWXgQMH1qtXr0KFCgT0Mg1PlVoJ6FWZpDp9ENCrM0s6QQABBLQR4AFTm1HTKAIOChDQOwjHaQggoLAA908KD1eu1tLT01etWjV8+PBmzZp5enoS0Ms1PjWqJaBXY44qdUFAr9I06QUBBBDQRIAHTE0GTZsIOCxAQO8wHScigICyAtw/KTta2RpLT09fvXr1Cy+80KJFCy8vLwJ62QaoQr0E9CpMUa0eCOjVmifdIIAAAloI8ICpxZhpEoECCBDQFwCPUxFAQFEB7p8UHax8bRHQyzcz5SomoFdupNI3REAv/QhpAAEEENBPgAdM/WZOxwjYJ0BAb58XRyOAgA4C3D/pMGUpeiSgl2JMahdJQK/2fGXsjoBexqlRMwIIIKC5AA+Yml8AtI9AvgIE9PkScQACCGgnwP2TdiMXtWECelEno1FdBPQaDVuSVgnoJRkUZSKAAAII/CPAA+Y/FnyFAAI5CRDQ56TCewggoLcA9096z1+g7gnoBRqGrqUQ0Os6eXH7JqAXdzZUhgACCCCQiwAPmLnA8DYCCPxPgICeSwEBBBDILsD9U3YRvneSAAG9k+DZ9h8BAvp/LPhKDAECejHmQBUIIIAAAnYI8IBpBxaHIqClAAG9lmOnaQQQyFOA+6c8efjQOgECeuus2SkXAQL6XGB422kCBPROo2djBBBAAAFHBXjAdFSO8xDQRYCAXpdJ0ycCCNguwP2T7VYcaaoAAb2pvCxuiwABvS1KHGOlAAG9ldrshQACCCBgiAAPmIYwsggCCgsQ0Cs8XFpDAAEHBbh/chCO04wWIKA3WpT17BYgoLebjBNMFiCgNxmY5RFAAAEEjBfgAdN4U1ZEQC0BAnq15kk3CCBghAD3T0YosoYBAgT0BiCyRMEECOgL5sfZxgsQ0BtvyooIIIAAAiYL8IBpMjDLIyC9AAG99COkAQQQMFyA+yfDSVnQMQECesfcOMtAAQJ6AzFZyhABAnpDGFkEAQQQQMBKAR4wrdRmLwRkFCCgl3Fq1IwAAuYKcP9kri+r2yxAQG8zFQeaJUBAb5Ys6zoqQEDvqBznIYAAAgg4TYAHTKfRszECkggQ0EsyKMpEAAELBbh/shCbrfISIKDPS4fPLBEgoLeEmU3sECCgtwOLQxFAAAEExBDgAVOMOVAFAuIKENCLOxsqQwABZwlw/+QsefbNJkBAnw2Eb60XuDugHzBgwIIFC/bv3x8WFmZ9PeyIAAE91wACCCCAgHQCPGBKNzIKRsBiAQJ6i8HZDgEEJBDg/kmCIelRIgG9HnMWusu7A/p+/fp98803u3fvvnjxotClU5yiAgT0ig6WthBAAAGVBXjAVHm69IaAEQIE9EYosgYCCKglwP2TWvOUuBsCeomHp0rply9fXrRo0cCBA++///5KlSqVLl26Z8+eH3/8sb+/f1BQkCpd0odMAgT0Mk2LWhFAAAEEbgrwgMmFgAACeQsQ0Oftw6cIIKCjAPdPOk5dyJ4J6IUci15FXblyZenSpSNGjGjfvr2Xl1epUqUeffTRyZMnL1++/NSpU3pZ0K0YAgT0YsyBKhBAAAEE7BDgAdMOLA5FQEsBAnotx07TCCCQpwD3T3ny8KF1AgT01lmzUy4CkZGRv/7665gxYzp37ly9evUSJUq0b9/+tddeW7hw4bFjx3I5ibcRMFGAgN5EXJZGAAEEEDBHIMcHzLNnz2ZkZJizIasigIBkAgT0kg2MchFAwAKBHO+fzp07Z8HWbIHA7QIE9Ldr8LVTBKKiotauXTt58uSePXvWrl2bgN4pU2DT2wUI6G/X4GsEEEAAASkEsj1genh4vPHGG0ePHk1ISEhNTZWiBYpEAAFTBQjoTeVlcQQQkFIg2/1ThQoVJk6cSEAv5SwlL5qAXvIBqlB+dHT077//PmPGjAEDBtSrV4+AXoWhSt4DAb3kA6R8BBBAQEeBbA+Y7u7ur7766u7du69evZqYmKijCD0jgMCdAgT0d3rwHQIIIHDjRrb7JwJ6LgpnCRDQO0uefbMEoqOjt2zZ8tFHHw0cOLB+/foE9FkyfOEsAQJ6Z8mzLwIIIICAwwLBwcFTp06tV69eqVKlChcuXL58+RdffNHf3z8kJCQ2NtbhZTkRAQSUESCgV2aUNIIAAoYJENAbRslCBRMgoC+YH2cbIEBAbwAiSxgqQEBvKCeLIYAAAghYIRAaGvrZZ589+OCD3t7epUuXLleu3LBhw1asWPH3339HRkZaUQF7IICA2AIE9GLPh+oQQMAZAgT0zlBnzxwECOhzQOEtawUI6K31Zrf8BQjo8zfiCAQQQAABwQTCw8O//fbbPn36NG7c2MPDw83NbdCgQYsXLz5y5EhERIRgxVIOAgg4QYCA3gnobIkAAoILENALPiB9yiOg12fWwnZKQC/saLQtjIBe29HTOAIIICCvAAG9vLOjcgSsESCgt8aZXRBAQCYBAnqZpqV0rQT0So9XjuYI6OWYk05VEtDrNG16RQABBBQRIKBXZJC0gYBpAgT0ptGyMAIISCtAQC/t6FQrnIBetYlK2A8BvYRDU7xkAnrFB0x7CCCAgIoCBPQqTpWeEDBSgIDeSE3WQgABNQQI6NWYowJdENArMETZWyCgl32C6tVPQK/eTOkIAQQQUF6AgF75EdMgAgUUIKAvICCnI4CAggIE9AoOVc6WCOjlnJtSVRPQKzVOJZq5O6Dv1KnTuHHjfvzxx9OnTyvRIk0ggAACCKgmQECv2kTpBwGjBQjojRZlPQQQkF+AgF7+GSrSAQG9IoOUuQ0Cepmnp2bt2QL6smXLtmzZcvDgwV9++eWxY8fU7JmuEEAAAQQkFyCgl3yAlI+A6QIE9KYTswECCEgnQEAv3chULZiAXtXJStQXAb1Ew9Kk1GwBfcmSJevXr9+5c+epU6fu379fEwTaRAABBBCQS4CAXq55US0C1gsQ0Ftvzo4IICC6AAG96BPSpj4Cem1GLW6jBPTizkbXyi5fvuzv7//RRx8NGDCgVq1axYsXr1WrVrt27SZNmrRnzx5dVegbAQQQQEBoAQJ6ocdDcQgIIEBAL8AQKAEBBAQTIKAXbCD6lkNAr+/shemcgF6YUVDI/wSuXr26ffv2r7/+esiQIXXr1iWg58pAAAEEEBBfgIBe/BlRIQLOFSCgd64/uyOAgIgCBPQiTkXLmgjotRy7WE0T0Is1D6q5cePatWv79u3773//++KLLzZo0ICAnosCAQQQQEB8AQJ68WdEhQg4V4CA3rn+7I4AAiIKENCLOBUtayKg13LsYjVNQC/WPKjmxo2YmJijR4+uWrXq9ddfb9SoEQE9FwUCCCCAgPgCBPTiz4gKEXCuAAG9c/3ZHQEERBQgoBdxKlrWRECv5djFapqAXqx5UM2NG3FxcadOndq8efOECRPuu+8+AnouCgQQQAAB8QUI6MWfERUi4FwBAnrn+rM7AgiIKEBAL+JUtKyJgF7LsYvVNAG9WPOgmhs34uPjz5w5s3379nfeeadp06YE9FwUCCCAAALiCxDQiz8jKkTAuQIE9M71Z3cEEBBRgIBexKloWRMBvZZjF6tpAnqx5kE1BPRcAwgggAACEgoQ0Es4NEpGwFIBAnpLudkMAQSkECCgl2JMOhRJQK/DlAXvkYBe8AFpWB7/gl7DodMyAgggILsAAb3sE6R+BMwWIKA3W5j1EUBAPgECevlmpmjFBPSKDlamtgjoZZqWHrUS0OsxZ7pEAAEElBIgoFdqnDSDgAkCBPQmoLIkAghILkBAL/kA1SmfgF6dWUrbCQG9tKNTtnACemVHS2MIIICAugIE9OrOls4QMEaAgN4YR1ZBAAGVBAjoVZqm1L0Q0Es9PjWKJ6BXY44qdUFAr9I06QUBBBDQRICAXpNB0yYCDgsQ0DtMx4kIIKCsAAG9sqOVrTECetkmpmC9BPQKDlXylgjoJR8g5SOAAAI6ChDQ6zh1ekbAHgECenu0OBYBBPQQIKDXY84SdElAL8GQVC+RgF71CcvXHwG9fDOjYgQQQEB7AQJ67S8BABDIR4CAPh8gPkYAAQ0FCOg1HLqYLRPQizkXraoioNdq3FI0S0AvxZgoEgEEEEDgdgEC+ts1+BoBBO4WIKC/24R3EEBAdwECet2vAGH6J6AXZhT6FkJAr+/sRe2cgF7UyVAXAggggECuAgT0udLwAQII3BQgoOdCQAABBLILENBnF+F7JwkQ0DsJnm3/ESCg/8eCr8QQIKAXYw5UgQACCCBghwABvR1YHIqAlgIE9FqOnaYRQCBPAQL6PHn40DoBAnrrrNkpFwEC+lxgeNtpAgT0TqNnYwQQQAABRwUI6B2V4zwEdBEgoNdl0vSJAAK2CxDQ227FkaYKENCbysvitggQ0NuixDFWChDQW6nNXggggAAChggQ0BvCyCIIKCxAQK/wcGkNAQQcFCCgdxCO04wWIKA3WpT17BYgoLebjBNMFiCgNxmY5RFAAAEEjBcgoDfelBURUEuAgF6tedINAggYIUBAb4QiaxggQEBvACJLFEyAgL5gfpxtvAABvfGmrIgAAgggYLIAAb3JwCyPgPQCBPTSj5AGEEDAcAECesNJWdAxAQJ6x9w4y0ABAnoDMVnKEAECekMYWQQBBBBAwEoBAnortdkLARkFCOhlnBo1I4CAuQIE9Ob6srrNAgT0NlNxoFkCBPRmybKuowIE9I7KcR4CCCCAgNMECOidRs/GCEgiQEAvyaAoEwEELBQgoLcQm63yEiCgz0uHzywRIKC3hJlN7BAgoLcDi0OfxqNZAAAgAElEQVQRQAABBMQQIKAXYw5UgYC4AgT04s6GyhBAwFkCBPTOkmffbAIE9NlA+NZ6AQJ6683ZMW8BAvq8ffgUAQQQQEBAAQJ6AYdCSQgIJUBAL9Q4KAYBBIQQIKAXYgwUceMGAT1XgdMFCOidPgIKyCZAQJ8NhG8RQAABBMQXIKAXf0ZUiIBzBQjonevP7gggIKIAAb2IU9GyJgJ6LccuVtME9GLNg2pu3CCg5ypAAAEEEJBO4O6AfuDAgT/88MOhQ4fCw8Ola4eCEUDAcAECesNJWRABBKQXIKCXfoSqNEBAr8okJe6DgF7i4SlaOgG9ooOlLQQQQEBlgbsD+gEDBsyfP3/fvn2hoaEqd05vCCBgmwABvW1OHIUAAjoJENDrNG2heyWgF3o8ehRHQK/HnGXqkoBepmlRKwIIIIDATYG7A/p+/fp98803u3btunjxIkgIIIAAAT3XAAIIIJBdgIA+uwjfO0mAgN5J8Gz7jwAB/T8WfCWGAAG9GHOgCgQQQAABOwSuXLmyZMmS5557rm3btp6enmXKlOnWrduMGTPWr19/7tw5OxbiUAQQUFSAgF7RwdIWAggUQICAvgB4nGqkAAG9kZqs5ZAAAb1DbJxkogABvYm4LI0AAgggYI5AZGTkypUrx40b5+PjU6NGjVKlSnXs2HHChAlLly4NCAgwZ09WRQABmQQI6GWaFrUigIA1AgT01jizS74CBPT5EnGA2QIE9GYLs769AgT09opxPAIIIICA0wWuXbu2fv369957r0+fPv/+979LlizZvn371157beHChceOHXN6eRSAAAJOFyCgd/oIKAABBIQTIKAXbiS6FkRAr+vkBeqbgF6gYVDKTQECei4EBBBAAAHpBKKjozdt2jR9+vT+/fvXrVuXgF66CVIwAmYLENCbLcz6CCAgnwABvXwzU7RiAnpFBytTWwT0Mk1Lj1oJ6PWYM10igAACSglER0dv3rx51qxZAwcOrF+/PgG9UtOlGQSMECCgN0KRNRBAQC0BAnq15ilxNwT0Eg9PldIJ6FWZpDp9ENCrM0s6QQABBLQRIKDXZtQ0ioCDAgT0DsJxGgIIKCxAQK/wcOVqjYBernkpWS0BvZJjlbopAnqpx0fxCCCAgJ4CBPR6zp2uEbBdgIDediuORAABXQQI6HWZtPB9EtALPyL1CySgV3/GsnVIQC/bxKgXAQQQQOAGAT0XAQII5C1AQJ+3D58igICOAgT0Ok5dyJ4J6IUci15FEdDrNW8ZuiWgl2FK1IgAAgggcIcAAf0dHHyDAAJ3CRDQ30XCGwggoL0AAb32l4AoAAT0okxC4zoI6DUevqCtE9ALOhjKQgABBBDIXYCAPncbPkEAgf8XIKDnOkAAAQSyCxDQZxfheycJENA7CZ5t/xEgoP/Hgq/EECCgF2MOVIEAAgggYIcAAb0dWByKgJYCBPRajp2mEUAgTwEC+jx5+NA6AQJ666zZKRcBAvpcYHjbaQIE9E6jZ2MEEEAAAUcFCOgdleM8BHQRIKDXZdL0iQACtgsQ0NtuxZGmChDQm8rL4rYIENDbosQxVgoQ0FupzV4IIIAAAoYIENAbwsgiCCgsQECv8HBpDQEEHBQgoHcQjtOMFiCgN1qU9ewWIKC3m4wTTBYgoDcZmOURQAABBIwXIKA33pQVEVBLgIBerXnSDQIIGCFAQG+EImsYIEBAbwAiSxRMgIC+YH6cbbwAAb3xpqyIAAIIIGCyAAG9ycAsj4D0AgT00o+QBhBAwHABAnrDSVnQMQECesfcOMtAAQJ6AzFZyhABAnpDGFkEAQQQQMBKAQJ6K7XZCwEZBQjoZZwaNSOAgLkCBPTm+rK6zQIE9DZTcaBZAgT0ZsmyrqMCBPSOynEeAggggIDTBAjonUbPxghIIkBAL8mgKBMBBCwUIKC3EJut8hIgoM9Lh88sESCgt4SZTewQIKC3A4tDEUAAAQTEECCgF2MOVIGAuAIE9OLOhsoQQMBZAgT0zpJn32wCBPTZQPjWegECeuvN2TFvAQL6vH34FAEEEEBAQAECegGHQkkICCVAQC/UOCgGAQSEECCgF2IMFHHjBgE9V4HTBQjonT4CCsgmQECfDYRvEUAAAQTEFyCgF39GVIiAcwUI6J3rz+4IICCiAAG9iFPRsiYCei3HLlbTBPRizYNqbtwgoOcqQAABBBCQToCAXrqRUTACFgsQ0FsMznYIICCBAAG9BEPSo0QCej3mLHSXBPRCj0fL4gjotRw7TSOAAAJyCxDQyz0/qkfAfAECevON2QEBBGQTIKCXbWLK1ktAr+xo5WmMgF6eWelSKQG9LpOmTwQQQEAhAQJ6hYZJKwiYIkBAbworiyKAgNQCBPRSj0+l4gnoVZqmpL0Q0Es6OIXLJqBXeLi0hgACCKgqQECv6mTpCwGjBAjojZJkHQQQUEeAgF6dWUreCQG95ANUoXwCehWmqFYPBPRqzZNuEEAAAS0ECOi1GDNNIlAAAQL6AuBxKgIIKCqQLaD38PAYO3bs4cOH4+LiUlJSFG2atkQUIKAXcSqa1URAr9nAJWiXgF6CIVEiAggggMCdAgT0d3rwHQIIZBcgoM8uwvcIIIBAtoDe3d195MiRW7ZsCQ0NjYuLwwcBywQI6C2jZqPcBAjoc5PhfWcJENA7S559EUAAAQQcFiCgd5iOExHQRICAXpNB0yYCCNghEBwcPGXKlBo1ahQtWtTV1bVcuXLPPffc6tWrz5w5ExUVZcdCHIpAwQQI6Avmx9kGCBDQG4DIEoYKENAbysliCCCAAAJWCBDQW6HMHgjILEBAL/P0qB0BBMwRuHTp0ieffNKqVasqVaqULFmyXLlyQ4YM+eWXXwICAq5evWrOnqyKQA4CBPQ5oPCWtQIE9NZ6s1v+AgT0+RtxBAIIIICAYAIE9IINhHIQEE6AgF64kVAQAgg4XSA8PNzPz69nz5733nuvu7t7uXLlnnnmmSVLlhw9evTy5ctOL48C9BEgoNdn1sJ2SkAv7Gi0LYyAXtvR0zgCCCAgrwABvbyzo3IErBEgoLfGmV0QQEAmgfDw8G+//bZPnz6NGzf28PBwc3MbNGjQ4sWLjxw5EhERIVMn1Cq5AAG95ANUoXwCehWmqFYPBPRqzZNuEEAAAS0ECOi1GDNNIlAAAQL6AuBxKgIIKCpAQK/oYOVri4BevpkpVzEBvXIjlb4hAnrpR0gDCCCAgH4CBPT6zZyOEbBPgIDePi+ORgABHQQI6HWYshQ9EtBLMSa1iySgV3u+MnZHQC/j1KgZAQQQ0FyAgF7zC4D2EchXgIA+XyIOQAAB7QQI6LUbuagNE9CLOhmN6iKg12jYkrRKQC/JoCgTAQQQQOAfAQL6fyz4CgEEchIgoM9JhfcQQEBvAQJ6vecvUPcE9AINQ9dSCOh1nby4fRPQizsbKkMAAQQQyEWAgD4XGN5GAIH/CRDQcykggAAC2QUI6LOL8L2TBAjonQTPtv8IEND/Y8FXYggQ0IsxB6pAAAEEELBDgIDeDiwORUBLAQJ6LcdO0wggkKcAAX2ePHxonQABvXXW7JSLAAF9LjC87TQBAnqn0bMxAggggICjAgT0jspxHgK6CBDQ6zJp+kQAAdsFCOhtt+JIUwUI6E3lZXFbBAjobVHiGCsFCOit1GYvBBBAAAFDBGJiYv7444/Zs2cPHjy4YcOGJUuWbNOmzciRI+fNm3fkyBFDtmARBBCQWoCAXurxUTwCCJgiQEBvCiuL2i9AQG+/GWcYLEBAbzAoyxVYgIC+wIQsgAACCCBgtUBcXNzu3bvnzZv3wgsvNGnSpHjx4o0bN37iiSc+/PDD3bt3W10N+yGAgHgCBPTizYSKEEDA2QIE9M6eAPv/T4CAnkvB6QIE9E4fAQVkEyCgzwbCtwgggAAC4gvEx8cfPHhwyZIlr7/+evPmzYsWLVqzZs327duPGzdu8+bN4tdPhQggYLYAAb3ZwqyPAALyCRDQyzczRSsmoFd0sDK1RUAv07T0qJWAXo850yUCCCCglEBiYuKJEydWr149YcKEli1bFilSxNvbu1WrVqNHj/b391eqVZpBAAGHBAjoHWLjJAQQUFqAgF7p8crUHAG9TNNStFYCekUHK3FbBPQSD4/SEUAAAV0FkpKSTp8+vXnz5ilTprRt25aAXtcLgb4RyFWAgD5XGj5AAAFtBQjotR29aI2np6evWbNm5MiRLVu2rFq1qqur66OPPjpr1qwdO3YEBQWlpqaKVjD1qCdAQK/eTGXviIBe9glSPwIIIKChwPXr1wMDA3ft2vXhhx+2b9+egF7Da4CWEchbgIA+bx8+RQABHQUI6HWcupA9p6enr1u37tVXX23Xrl316tVdXV3btm07YcKE5cuXHz9+PDk5WciqKUopAQJ6pcapRDME9EqMkSYQQAABvQQI6PWaN90iYL8AAb39ZpyBAAKqCxDQqz5hafpLT0/fsGHD2LFjO3ToUKtWLVdX12bNmo0YMWLu3Ll79uxJSkqSphMKlVaAgF7a0SlbOAG9sqOlMQQQQEBdAQJ6dWdLZwgYI0BAb4wjqyCAgEoCBPQqTVPqXjIyMrZu3err69uzZ88GDRoUKlSoSZMmQ4cOnTNnzs6dOxMTE6XujuKlECCgl2JMWhVJQK/VuGkWAQQQUEOAgF6NOdIFAuYJENCbZ8vKCCAgqwABvayTU67ujIyMPXv2fPLJJ4MHD27WrBkBvXITlqAhAnoJhqRZiQT0mg2cdhFAAAEVBAjoVZgiPSBgpgABvZm6rI0AAnIKENDLOTcFq87IyDhw4MA333yT+XtiCegVnLHwLRHQCz8i7QokoNdu5DSMAAIIyC9AQC//DOkAAXMFCOjN9WV1BBCQUYCAXsapKVkzAb2SY5WrKQJ6uealQ7UE9DpMmR4RQAABxQQI6BUbKO0gYLgAAb3hpCyIAALSCxDQSz9CVRogoFdlkhL3QUAv8fAULZ2AXtHB0hYCCCCgsgABvcrTpTcEjBAgoDdCkTUQQEAtAQJ6teYpcTcE9BIPT5XSCehVmaQ6fRDQqzNLOkEAAQS0ESCg12bUNIqAgwIE9A7CcRoCCCgsQECv8HDlao2AXq55KVktAb2SY5W6KQJ6qcdH8QgggICeAgT0es6drhGwXYCA3nYrjkQAAV0ECOh1mbTwfRLQCz8i9QskoFd/xrJ1SEAv28SoFwEEEEDgBgE9FwECCOQtQECftw+fIoCAjgIE9DpOXcieCeiFHIteRRHQ6zVvGboloJdhStSIAAIIIHCHAAH9HRx8gwACdwkQ0N9FwhsIIKC9AAG99peAKAAE9KJMQuM6COg1Hr6grRPQCzoYykIAAQQQyF2AgD53Gz5BAIH/FyCg5zpAAAEEsgsQ0GcX4XsnCRDQOwmebf8RIKD/x4KvxBAgoBdjDlSBAAIIIGCHAAG9HVgcioCWAgT0Wo6dphFAIE8BAvo8efjQOgECeuus2SkXAQL6XGB422kCBPROo2djBBBAAAFHBQjoHZXjPAR0ESCg12XS9IkAArYLENDbbsWRpgoQ0JvKy+K2CBDQ26LEMVYKENBbqc1eCCCAAAKGCBDQG8LIIggoLEBAr/BwaQ0BBBwUIKB3EI7TjBYgoDdalPXsFiCgt5uME0wWIKA3GZjlEUAAAQSMFyCgN96UFRFQS4CAXq150g0CCBghQEBvhCJrGCBAQG8AIksUTICAvmB+nG28AAG98aasiAACCCBgsgABvcnALI+A9AIE9NKPkAYQQMBwAQJ6w0lZ0DEBAnrH3DjLQAECegMxWcoQAQJ6QxhZBAEEEEDASgECeiu12QsBGQUI6GWcGjUjgIC5AgT05vqyus0CBPQ2U3GgWQIE9GbJsq6jAgT0jspxHgIIIICA0wQI6J1Gz8YISCJAQC/JoCgTAQQsFCCgtxCbrfISIKDPS4fPLBG4O6Bv167dK6+8smDBgmPHjllSApsgcIcAAf0dHHyDAAIIICCDAAG9DFOiRgScKUBA70x99kYAATEFCOjFnIuGVRHQazh00Vq+O6B/4IEHhg0b9uWXXx48eFC0aqlHBwECeh2mTI8IIICAYgIE9IoNlHYQMFyAgN5wUhZEAAHpBQjopR+hKg0Q0KsySYn7yBbQFy9e/L777nvyySdnzZq1d+9eiRujdGkFCOilHR2FI4AAAvoKENDrO3s6R8A2AQJ625w4CgEEdBIgoNdp2kL3SkAv9Hj0KC42NnbXrl1ff/318OHDGzduXKxYsQYNGnTr1u3999/fsWOHHgZ0KZYAAb1Y86AaBBBAAAEbBAjobUDiEAS0FiCg13r8NI8AAjkKENDnyMKb1gsQ0Ftvzo7ZBBISEg4fPvzTTz+NGTPm/vvvL1KkSO3atTt06DBhwoStW7dmO5hvEbBAgIDeAmS2QAABBBAwVoCA3lhPVkNAPQECevVmSkcIIFBQAQL6ggpyvkECBPQGQbKM4wJJSUknT57cuHHj5MmTW7duXbhwYW9v71atWo0ePdrf39/xdTkTAUcFCOgdleM8BBBAAAGnCRDQO42ejRGQRICAXpJBUSYCCFgoQEBvITZb5SVAQJ+XDp9ZIpCUlHTmzJmtW7e+//77bdu2JaC3RJ1N8hIgoM9Lh88QQAABBIQUIKAXciwUhYBAAgT0Ag2DUhBAQBABAnpBBkEZBPRcA04XyHqenD59evv27QnonT4RCiCg5xpAAAEEEJBOIOuG6sMPP2zfvn2RIkX4TxKlGyIFI2CqAAG9qbwsjgACUgoQ0Es5NhWLJqBXcaqS9XT9+vWgoKDdu3dnPk8S0Es2PxXLJaBXcar0hAACCCguQECv+IBpD4ECCxDQF5iQBRBAQDkBAnrlRiprQwT0sk5OoboJ6BUapiKtENArMkjaQAABBHQSIKDXadr0ioAjAgT0jqhxDgIIqC1AQK/2fCXqjoBeomGpWioBvaqTlbcvAnp5Z0flCCCAgLYCBPTajp7GEbBRgIDeRigOQwABjQQI6DUattitEtCLPR8tqiOg12LMUjVJQC/VuCgWAQQQQOD/BQjouQ4QQCBvAQL6vH34FAEEdBQgoNdx6kL2TEAv5Fj0KoqAXq95y9AtAb0MU6JGBBBAAIE7BAjo7+DgGwQQuEuAgP4uEt5AAAHtBQjotb8ERAEgoBdlEhrXQUCv8fAFbZ2AXtDBUBYCCCCAQO4CycnJFy5c2Ldv38yZMx966KHChQtXqVKlcePGL7744vr163M/j08QQEAXAQJ6XSZNnwggYLsAAb3tVhxpqgABvam8LG6LAAG9LUocY6UAAb2V2uyFAAIIIGCIQEpKysWLFw8fPjx79uwOHToUKlTIzc2tatWqTz/99KpVqwzZgkUQQEBqAQJ6qcdH8QggUFCB9PT0lJSU63e+goODv/766169ejVq1MjDw8PNze3pp5/+/vvv9+/fHxISknVscnJySkpKWlpaenp6QevgfARyEiCgz0mF9ywVIKC3lJvNbBC4O6CvWbNm69at33777d27d9uwAIcggAACCCBgtUBqampERMTJkye/+OKLRx55xMXFpVixYmXKlOnRo8fPP/9sdTXshwAC4gkQ0Is3EypCAAELBSIiIo4dO7b7ztdvv/02ceLEhx9+uHbt2m5ubqVLl/bx8XnvvfcWLVq0du3arGMPHDhw8uTJ4ODgqKio5ORkC6tmK10ECOh1mbTAfRLQCzwcTUvLFtAXLlzY3d29Zs2ao0aN2rp1q6YotI0AAgggILZAenp6bGxseHj4okWLunbt6uLiUrhw4WLFinXt2nXZsmVi1051CCBghQABvRXK7IEAAsIKBAQE/Pzzz5/f+Zo+ffqgQYPuu+8+Ly+vUqVKlShR4oEHHhgyZMjEiROnT5+edeyCBQt+++23ffv2BQYGxsfHC9sjhckrQEAv7+yUqZyAXplRKtNItoA+M+MoXrz4U089tWHDBmXapBEEEEAAAcUE0tLSkpOTV6xY0bNnz3vuucfFxcXV1bVTp05LlixRrFPaQQABBwQI6B1A4xQEEFBHYP/+/V999dW4ceNefvnlYcOGDb35euqpp9q3b1+9evXy5csXK1asSJEitWvXfvjhh3v16vXUU09lHjN06NDx48cvWLBgz549gYGBcXFx6qDQiTMEUlNTExISrl27Fh4eHhwcHHTrtWbNmsz/x6hp06aFChVq0KBB//7933vvvV9++eXUqVOZR50/fz4kJCQsLCwqKiopKckZ5bOnsgIE9MqOVtrGkpKSgoODDx069MEHH7Ro0eJft159+vRZu3attG1ROAIIIICAFgJr1qzp3bv3rb+7/tWxY8fFixdr0TlNIoBAngIE9Hny8CECCKgusGfPno8++mjYsGGPPfZY06ZNG998NWjQoGrVqmXLli1evHihQoVcXV3LlSvn7e1dp06dBg0aZB7TuHHjPn36zJkz58SJE6GhoYmJiapT0Z+5AvHx8RcvXjxx4sTOnTt/++235bdes2bNGjlypI+PT506dVxdXWvUqPHII48MHz582rRpP/74Y+ZRK1asWL9+/dat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
[[Horizontal, vertical, and functional data partitioning]]
一般使用[[Horizontal partitioning (often called sharding)]],用ID做key, 但Twitter、Youtube的设计要考虑到热点用户,考虑用hash.
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h7722msTJkyYOXPmsmXL1q9fv3fv3hMnTly6dOnu3bvBwcFeXl579+6dOXPm2LFjhw8f/qvM+/+5uLhABTACAwOlUml2dvbft+OHdF6zzaEzmeRqjUylVGlVeoNGrZHL5WKRiM/ns9hsanw88TGdt6/YGqFX4e074Hhcr0tDXw5vBA7zq8jbq/OGQgceE07ERRCwEXgMrLfwGiocjQxDxoXFxoZHx8DgMZGRsXAEFo2kxeN5SRypQt6r86YBnXeQL/6BCQ/ovAPDGYwCCAACgAAg8BwIDH6dt7u7u729vb6+XqlURkZGXrt27fjx41BJ4nffffftvgZtQp89e/ZHH310/vx5LBYLpTH+u847a9YsKHl22bJlM/ra9OnTITuIdevWXb16lclkZmdnV1dXd3d3/0bnLSgoqKmpaWpqUqlUERER33///YYNGyZPnjx16tTp06e/09dmzZq1bdu2K1euIJFInU4HOfZarVYGg3H+/PlFixZNnTp19uzZCxcufO+99xYsWODq6rpnz57vvvvu008/nTFjxoIFC3788ceEvkaj0SIiIk6dOrV8+fI5c+bMmjXrnXfemT179rx58957771ly5Z9+OGH27ZtO3LkyHPXed3d3YlEos1mk0qlV69eXbRo0bx582bNmjV9+nQIMmT/+s0333z44YcjR45csGDB0aNHg4KCuFxuVlaWWq0OCgo6cuTIxo0b58+fP2PGjNmzZ8+fPx9S5A8ePPjRRx+5uLicOnVKKpV2dHSUlJTYbDYsFvv999+vXr162bJlEJ958+YtXLhw/fr1X375pYeHB5SU3d7e3t3d/UcvrYaGhry8PLVaHRwc/K9//WvNmjWLFy+ePn367NmzF/S1OXPmzJgxY+nSpevXrz9x4kRUVJTFYikuLm7qazabjclk3rt3b8+ePfPnz4fCmDNnzqJFi/75z38eOHDg2rVrcXFxRqOxo6NDr9eHh4df/bX9rj/vzz//3NLSUlVVxWKxDh06NHz48GXLlh08eNDHx0cul/dP5Df5vOfPn6fRaFVVVYWFhSKRCAaDnTp1asWKFTNmzIAygt97772VK1du3779+++/DwwMjI+PT+5rcDj89OnT69atmzZt2pAhQ15//fX+Gi+zZs1asWLFpk2boGThzMzMioqKtra2PyI5YN8HOu+AoX5RBqqvr8/MzJRKpV5e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rH4CxTGkUunFixeXLFmydOnS5cuXX7x4USwWj42NDQ0NGY3G9PT0vXv3/ud//ueyZcuuXr2anJysVCpBhZCp0nmBz6nJZBKLxSgUCix4X7BgwZw5c+bOnfvWW2+98847Cxcu9Pf3RyAQubm59fX1Foulvb09JiZm7969K1eufPfdd19//fX58+d/8MEHK1as8Pf337Nnz7p16xZPhJ+f35dffkmhUJqamtra2lJSUq5fv75jx46///3vwKrizTfffO+99z7++OMlS5a8++67c+bMWbdu3Y0bN2ZCPi+oQpaRkXH+/PkPPvjg1VdfnT9//sKFCz/44IP333//s88+27Zt2+nTp9etWzdnzhxQQg2kevF4vKioqLNnz/r5+S1atGjBggXz589fsmTJ2rVr161bt3LlymXLlh07dgyPx2dmZmq12rGxsdbWVpFIRCaTDx8+/OGHH4K3AKqLFy/eunXrd999B0qrm81mkKTz8GdydHTU4/F0d3fn5eXh8fhvv/12xYoVb07EW2+99fbbb7/33nuLFi1auHDh+++/v2bNmlOnToWEhIhEIoPB4HQ6rVZrT0+PQCC4efPm9u3bly1b9tZbb73xxhtz5859++23P/300y+++OLKlSspKSnNzc1dXV1ms/kp83kbGhpiYmJOnjy5fPnyl156ac2aNVFRUV1dXVar1bcY8GGdt7u722q1dnV18Xi869evA38DMG3mzp0L5tu2bdtu3bqVlJQkl8uB1W9fX59arU5PT79x48aaNWvAvAIz+f3331+xYsW2bdvOnz8PLCBcLpdvAA/zfPIzv1DnBXXkHA7HwMBAT0+PXq/vmojJTJ48APgqJDA7Cdjt9t7e3o6ODplMxmQyQ0NDMRjMFAooQIQFmqxveTXI80Wj0ZjHBLiXNDlv15e0+7PNPR8+KAQCgcPhwsPD09PT6+rqzGazzWYDq3wers01e6bHA2XQwNez2fav1+sdGRlxu90Oh8NXGvHJEECq7+yZJ09zpEajsbi4OC8vr7q6uru7GyyTkkqlKSkpERER4M7NFH6iH/6MP5dngoKCMBgMiURKTU0tLy9vamoCX8AsFkvfRAwNDT0NPbjPdBCAOu90UIVtQgKQACQACcwIAtOh846MjOh0urKystjY2O+++271P8c//vGPzZs379q169ixY9euXcNgMDweT6VSWa1W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FRWlpKR4e3vb2tqeOXNGT09vz549O3bsUFVVVXnXVFVVd+zYoaWldeTIEWNj42vXrnl5eaWmplIolKampg5nJJkn3lP8QfT5fD6LxUKyS0pKSlRU1LNnzzw8PJycnGxtbc3NzY8fP753797t27crKSmtW7du5cqVS5culZGRmTlz5qRJk0aOHDlo0KDVq1dfunQpOjq6qKiIy+V+UALgDASAQPch0NraKhQKm5uba2try8vLCwsL37x5k5iYGBUVFRISEhQU9AwaEAACQOAtgefPn4eGhkZGRr569er169cFBQXl5eU1NTUsFgs28HafnxowUyAABIAAEAACQAAIfAkEQOeV/iqIncPWFZ1XsqCB5AFrkhKqpH6KN4wQZVys/HZoRAMJhUI6nR4bG+vi4mJpaamvr79z5051dfUtW7YoKysrKSlteteUlJSUlZW3bNmybds2DQ0NfX39y5cvP378OCYmprKykpjk+86XQz441a4vAJJduFwui8Wqr6+vrq6urKwsKyujUCgFBQU5OTkZGRnJyclBQUGPHj26ceMGUn61tbVVVVXXrl0rIyMzduzY1atXGxkZeXp6vn79ms1md3108AQCQKC7EWhraxMKhTwej8PhsFgsBoNRV1dXXV1Ne9sqoQEBIAAE3hGg0+nV1dV1dXUMBoPJZHI4HB6PJxQKoUJUd/vBAfMFAkAACAABIAAEgMB/SwB0XunzF9N5w8LCJPfzEiXa9+mh2I7FUzELDoJlYiyedijpIiNR9kUWPp/f0tJSVFTk4+NjYWFx5MiRbdu2bexa2759u4GBgaWlpZeXV0FBAZfL5fP5KE+cLTFPyVSlvgB1dXUFBQUJCQnBwcHu7u537969fPmykZGRlpaWoqLi/v37ra2tfX19s7KyOByO1EeHgEAACAABIAAEgAAQAAJAAAgAASAABIAAEAACQODzEwCdV/rM/1HnxUorEnAl9VAs7BI7WDwlGnEE1BGLLGZ8n87LZrMZDEZWVtaDBw8MDAy0tLS2bt3aNZl345YtWzQ1NQ8fPuzg4JCens5gMNhstlAoxHouLtEglj9KVfr029s5HA76njWJRMrKykpJSXn58uWLFy/8/Pzc3NwCAgLi4uLy8vKqqqoEAsGnSABiAgEgAASAABAAAkAACAABIAAEgAAQAAJAAAgAgc9MAHRe6QP/z3VeMSEY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zZvnzp07bty4oqKizMzMnnPYzMzMYcOGTZgwYd68eevWrXvnnXfKy8ujib0/rqHnJfr6bXTyQ2Fh4Zw5c7Zu3Xro0KEzZ874zZkbvUq+J0CAAIGvJXDlypUjR4689957y5cvnzRpUud/P/rEE0+sXbv2888/P3v27JUrV7pcrLm5+c033ywuLs7NzR00aFAocu+9944ePXrKlCmrVq2qra3tcm5bW9vRo0fXrl379NNPP/LII/n5+WF6dDF69OiqqqrGxsbupusnQIAAAQIECBAgQIBALwXkvL2E6sOwLsPckPP2HP62trZevny5sbHx1KlTtbW1NTU1H3/88b59+15//fXZs2ePHTt26NChAwcO7DlmzcnJGT9+/Lx581asWLFmzZqqqqonn3wyPz8/PT19wIABPc9N0rfRyQ+DBw+eOnXqqlWrtm/ffvTo0T6YGkqAAAECBG5K4OLFiydPnjxw4MC2bdve6NS2b9/+xRdfXLhwoampqbt/+xjC4jfffHPdunWhxvr167ds2fLBBx8cPnz4woUL3d1dfX39F198sWvXrq1bt7711lthenSxZcuW2tra7rYSd1dTPwECBAgQIECAAAECBDoLyHk7mySgJx7mhqMbOnSG/ngu3NzcfOHChTNnzhw8eHD79u0b29uGDRuWLVtWWlo6YsSIaCtQz2lsfn7+9OnTX3311dWrV7/88suLFy+eOHFidnZ2z7NS8O2gQYOKi4sXLFiwdu3a/fv3JwBaCQIECBAgQIAAAQIECBAgQIAAAQIE2trkvEl5C8Lu3WhzUOeEt62trUPOG6W9DQ0NR44c2bdv3/r16xcvXvzX9jZz5szJkyePGjUqLy8vKyurhz250bbZwsLC2bNnb9q0afXq1QsXLpw6deoDDzxww9MeUpDzZmZmjhkzZubMmZWVlbt27XI+b1JePkUJECBAgAABAgQIECBAgAABAgT6n4CcNynPPOS8UfUOOW/U2WXOe/78+d27d2/YsKGiouLhhx/OudaiAwHT09PT0tJ6CGTT0tLS09Pvu+++efPm7dixY82aNU899dSoUaOGDBmSkZHRw8TUfDVw4MCioqLx48fPnTt369atra2t3f1Hskl5KooSIECAAAECBAgQIECAAAECBAgQ+P9UQM6blAcbZbghxOx9znvx4sX9+/e/9957L7744owZM/7c9/bQQw9NmTLlpZde+vjjj9esWVNaWlpQUJCTk/O/9Qts8QQ5IyOjoKDggQcemDlzZnV1tZw3KS+fogQIECBAgAABAgQIECBAgAABAv1PQM6blGcect6waTdEvfHTeMO236jz6tWrjY2NJ0+ePHz48Pvvv//aa68tWbLk+eefX9ypLWpvnboXP9/eXnzxxX//+9+HDx9es2bNY489lpWVdc899/Rw2kM8ik3qdXp6ek5OztChQ0tKStavXx/9rZPyABQlQIAAAQIECBAgQIAAAQIECBAg0J8E5LxJedqd492Q80aH0sY/xq+bm5sbGhrOnz9/9OjRvXv3btu27b333nu3U9va3jp1v7t169Z33313x44dn3766fHjx994441Jkyalt7e0ay2pSW6H4tfW/L//HDBgQGZmZm5u7oQJE9auXSvnTcrLpygBAgQIECBAgAABAgQIECBAgED/E5DzJuWZ33TO29LS0tTU1NDQcOrUqSNHjnz22WcHDhzY35d24MCBQ4cOHTly5OTJk+vXry8tLR08ePCgQYMyMjJueLxvh5T263+M57zp6ekDBw7Mzc0tLCy0nzcpr52iBAgQIECAAAECBAgQIECAAAEC/VVAzpuUJ3/DnLfz6Q1hV29ra2uU9jY2NjbEWn2sxbobou4OPWfPnq2rq6uurn7qqaeKiory8/MzMzMHDhyY4tMbQs6bnp5+zz33ZGVlFRQUDB8+fNq0aZs2bbKfNykvn6IECBAgQIAAAQIECBAgQIAAAQL9T0DOm5RnHkLbznlu1NNdf5gYXcSHtba2hm/jOXK8PxrQ0tJSX19/7ty5nTt3vvDCC08//fT06dNLSkomTJjw8MMPjxkzZsSIEffff39BQcG9996bnZ2dmZmZkZExYMCAtLS0m97Dm5aWFu3YzczMzM7OzsvLKywsLCoqGjly5OjRox9++OEJEyaUlJTMmDHjmWeeWbFixUcffRT97ZLyABQlQIAAAQIECBAgQIAAAQIECBAg0J8E5LxJedrxQDaeyUaH84aoNx7mxiPdqD+6szA95LkdRob+aFbYDnzp0qXjx4/v2bPnnXfeqa6uXr9+fVVVVWVl5YIFC5555pnS0tLx48ePGTOmqKhoyJAh2dnZAwcOTE9Pv+mcN9qxm5OTU1BQUFRUNGbMmAkTJpSWls6ePfu5555bvnx5VVXVW2+9tXnz5m3btu3du/fEiROtra1Xr15NygNQlAABAgQIECBAgAABAgQIECBAgEB/EpDzJuVph3C2Qyb7dXLeHrLj8NWVK1da21u0UEtLy6VLlxoaGs6dO1dXV1dbW7t79+4tW7ZUVVUtWbLk2WefnTZtWnFxcZT2FhYW5ufn33t9G9x9iwbm5eXde++9gwcPzs/PLyws/OMf/zh27Nji4uJp06aVl5cvXbq0qqpq8+bNH330UW1t7enTp7/66qvGxsZLly5dvnxZzpuUl09RAgQIECBAgAABAgQIECBAgACB/icg503KM/9fzHlD5nv16tXW1tbLly83NTXV19efP3++rq7u888/r6mp+eCDD95+++1169b961//qqysXLJkSUVFxbx585577rlFixYtWLDgueeem9/e/v73v89tb+Xl5X/729+i6+jPaHw0uKKiYv78+VHPkiVLKisrV61atW7dus2bN+/YsaOmpubzzz//8ssvL1y40NDQ0NTU1Nzc3NLSEoXRSXkAihIgQIAAAQIECBAgQIAAAQIECBDoTwJy3qQ87R5y3iiHje/zjV+HlDa+8zfeGfo7dIaPUbV4zegkh+bm5qampsbGxgsXLnz11Vdnz549ffp0XV3dyZMnT5w4cfTo0SPXWm1t7cGDB/fv319TU7O3ve2Jtahn7969n3zyyYEDBw4dOnT48OHP29uRI0eOHTt24sSJkydP1tXVnT59+ty5c+fPn7948WJjY2NTU1NLe4sOmnBiQ1LePEUJECBAgAABAgQIECBAgAABAgT6pYCcNymPvUPOG7LXDmls+BguwsTQ09eLsFZUKnzsXCeeBUcHPkRZcENDQ5QFnzlz5lR7q6ur+zLW6urqTp06dfbs2SjDra+vb2xsDOcwdF6oyx45b1LePEUJECBAgAABAgQIECBAgAABAgT6pYCcNymPPcS1IWaNh6pRxBnGhBg0PiZ0hotoW26HX12LH8gbjexQNtxAqBM/LSEMji6iJaKjHi5dutTY2NjQ3urr6y/GWn19fUNDQ3TMblNT0+X2Fs5h6HxL0dId7j+6saToK0qAAAECBAgQIECAAAECBAgQIECgnwnIeZPywOP5aUha451tbW3hY8hnO+e88Z4OOWnIbcMPr8V7wnVYPYpfw1rRXzvcQxgWXzFsuQ3DwvT4sM6d4ZbiE7u8/7BEUh6DogQIECBAgAABAgQIECBAgAABAgT6h4CcNynPOeSbPeSnYUznnDTq6XAUbxSe3nA/bzzPDRWitcLcsKE43EMP99mnSLrzQuHv0uX9y3mT8v4pSoAAAQIECBAgQIAAAQIECBAg0M8E5LxJeeA3zE/j+2G7y1hDf4hKe3kR8two5w2zQn989ejbsFb8q3hnKNIhO45/7HJufGLnazlvUt4/RQkQIECAAAECBAgQIECAAAECBPqZgJw3KQ885Lydk83OPSFOjX8VOnsoFc9V43N7c91l2bBobyqEMV3O6rIzTAnpcFL0FSVAgAABAgQIECBAgAABAgQIECDQzwTkvEl54F2mqPGU84bXvanQZc7buTNErvGaoTN+J112xgd0dx12CocB8bVCZ/zCTt6kvHmKEiBAgAABAgQIECBAgAABAgQI9EsBOW9SHnuHQLNz6BlPY8OvlnV3zEK8Wvw6FOlQIb5ciG7D4M49YXdt+Cq+Soe7ir4K1aLjgKOcN97Z4ZjgaFaH+0wKvaIECBAgQIAAAQIECBAgQIAAAQIE+p+AnDcpzzyek3ZIXmtS7wAACpxJREFUP3vISTskqp03ycbLhnA2nrTGO+MLxQPccB2/sS47Q7V4cBwvG12H9DZeUM6blBdLUQIECBAgQIAAAQIECBAgQIAAAQJdCch5u1L52n0hkA35aeiJwtO2trYQnvYyJw3D4qVCyBtC4VA2GhZuIISwnXvieW4YFu4zfqsdakYf40tHq0e3GvrDsJaWltAZLfS1pRUgQIAAAQIECBAgQIAAAQIECBAgQKBNzpuUlyCErSFUjbLOkJN2Dk9D2BofGb8OOW8oHn0b+uODw3XnGwg98TrxztAfjtANPVHZMDisEu8P0XOHbzuHv1GdpDwARQkQIECAAAECBAgQIECAAAECBAj0JwE5b1KedghGw0U89LxhThof3OE6mtuhs4ePndcKPfF76/I6jOxQv+f+DoN7+BjVScoDUJQAAQIECBAgQIAAAQIECBAgQIBAfxKQ8ybraXcIQ8PHm76ItgD3PD0KVXse0923IZDtMOCGNW84oEPB8DFZ9OoSIECAAAECBAgQIECAAAECBAgQ6GcCct5kPfCQZibqojc5b6LW6lMdOW+y3iF1CRAgQIAAAQIECBAgQIAAAQIECPROQM7bO6cEjYry03ixeKJ6w/4bDo5XSMZ1l/cfct74iuFWQ2foCcf+hq9cECBAgAABAgQIECBAgAABAgQIECDwdQTkvF9Hz9z/CHQOf7kQIECAAAECBAgQIECAAAECBAgQIJBKATlvKrWtRYAAAQIECBAgQIAAAQIECBAgQIAAgcQLyHkTb6oiAQIECBAgQIAAAQIECBAgQIAAAQIEUikg502ltrUIECBAgAABAgQIECBAgAABAgQIECCQeAE5b+JNVSRAgAABAgQIECBAgAABAgQIECBAgEAqBeS8qdS2FgECBAgQIECAAAECBAgQIECAAAECBBIvIOdNvKmKBAgQIECAAAECBAgQIECAAAECBAgQSKWAnDeV2tYiQIAAAQIECBAgQIAAAQIECBAgQIBA4gXkvIk3VZEAAQIECBAgQIAAAQIECBAgQIAAAQKpFJDzplLbWgQIECBAgAABAgQIECBAgAABAgQIEEi8gJw38aYqEiBAgAABAgQIECBAgAABAgQIECBAIJUCct5UaluLAAECBAgQIECAAAECBAgQIECAAAECiReQ8ybeVEUCBAgQIECAAAECBAgQIECAAAECBAikUkDOm0ptaxEgQIAAAQIECBAgQIAAAQIECBAgQCDxAnLexJuqSIAAAQIECBAgQIAAAQIECBAgQIAAgVQKyHlTqW0tAgQIECBAgAABAgQIECBAgAABAgQIJF5Azpt4UxUJECBAgAABAgQIECBAgAABAgQIECCQSgE5byq1rUWAAAECBAgQIECAAAECBAgQIECAAIHEC8h5E2+qIgECBAgQIECAAAECBAgQIECAAAECBFIpIOdNpba1CBAgQIAAAQIECBAgQIAAAQIECBAgkHgBOW/iTVUkQIAAAQIECBAgQIAAAQIECBAgQIBAKgXkvKnUthYBAgQIECBAgAABAgQIECBAgAABAgQSLyDnTbypigQIECBAgAABAgQIECBAgAABAgQIEEilgJw3ldrWIkCAAAECBAgQIECAAAECBAgQIECAQOIF5LyJN1WRAAECBAgQIECAAAECBAgQIECAAAECqRSQ86ZS21oECBAgQIAAAQIECBAgQIAAAQIECBBIvICcN/GmKhIgQIAAAQIECBAgQIAAAQIECBAgQCCVAnLeVGpbiwABAgQIECBAgAABAgQIECBAgAABAokXkPMm3lRFAgQIECBAgAABAgQIECBAgAABAgQIpFJAzptKbWsRIECAAAECBAgQIECAAAECBAgQIEAg8QJy3sSbqkiAAAECBAgQIECAAAECBAgQIECAAIFUCsh5U6ltLQIECBAgQIAAAQIECBAgQIAAAQIECCReQM6beFMVCRAgQIAAAQIECBAgQIAAAQIECBAgkEoBOW8qta1FgAABAgQIECBAgAABAgQIECBAgACBxAvIeRNvqiIBAgQIECBAgAABAgQIECBAgAABAgRSKSDnTaW2tQgQIECAAAECBAgQIECAAAECBAgQIJB4ATlv4k1VJECAAAECBAgQIECAAAECBAgQIECAQCoF5Lyp1LYWAQIECBAgQIAAAQIECBAgQIAAAQIEEi8g5028qYoECBAgQIAAAQIECBAgQIAAAQIECBBIpYCcN5Xa1iJAgAABAgQIECBAgAABAgQIECBAgEDiBeS8iTdVkQABAgQIECBAgAABAgQIECBAgAABAqkUkPOmUttaBAgQIECAAAECBAgQIECAAAECBAgQSLyAnDfxpioSIECAAAECBAgQIECAAAECBAgQIEAglQJy3lRqW4sAAQIECBAgQIAAAQIECBAgQIAAAQKJF5DzJt5URQIECBAgQIAAAQIECBAgQIAAAQIECKRSQM6bSm1rESBAgAABAgQIECBAgAABAgQIECBAIPECct7Em6pIgAABAgQIECBAgAABAgQIECBAgACBVArIeVOpbS0CBAgQIECAAAECBAgQIECAAAECBAgkXkDOm3hTFQkQIECAAAECBAgQIECAAAECBAgQIJBKATlvKrWtRYAAAQIECBAgQIAAAQIECBAgQIAAgcQLyHkTb6oiAQIECBAgQIAAAQIECBAgQIAAAQIEUikg502ltrUIECBAgAABAgQIECBAgAABAgQIECCQeAE5b+JNVSRAgAABAgQIECBAgAABAgQIECBAgEAqBeS8qdS2FgECBAgQIECAAAECBAgQIECAAAECBBIvIOdNvKmKBAgQIECAAAECBAgQIECAAAECBAgQSKWAnDeV2tYiQIAAAQIECBAgQIAAAQIECBAgQIBA4gXkvIk3VZEAAQIECBAgQIAAAQIECBAgQIAAAQKpFJDzplLbWgQIECBAgAABAgQIECBAgAABAgQIEEi8gJw38aYqEiBAgAABAgQIECBAgAABAgQIECBAIJUCct5UaluLAAECBAgQIECAAAECBAgQIECAAAECiReQ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BwYGpFJpbm6ug4MDiUTS1dW1sLDw9PQkk8kXLlygUCiBgYEsFksikQiFwpKSEjqdfvny5StXrjg5Obm4uFCpVDMzMwMDAw8Pj6qqqvr6+ri4ODMzs3/+85/r1q3bu3evoaFhREREcXExk8nMzc1NSUlBfZZxHO/p6SkvL/f29tbR0TEyMqJQKOTpcfny5TNnzvj5+fF4PFSNm52dbWhoqKure+7cuatXr9pNDwqFYmFhYWxsHBgY2NbWhuP47GhVrVb39/enpKS4uLiQyWRzc3NHR0c3NzcSiXThwgUHB4fIyEg+n69UKvv7+2tqavz9/bW1tY2NjR0dHW1sbCwsLExMTAwNDaOiooRCYWNjY0FBQUBAwOXLl7W1tU+dOnXp0iVra2sKhXLlyhV7e/uUlBQ+n080GOnu7o6OjnZ3d4+JiSkqKmpubm5sbAwICDAwMDAzM7O2traxsaFQKPr6+j/99FN4eHhzc/Pg4KBMJktMTPzpp58uXLigr6//448/7t+/39bWtqioKCIi4ur0sLa2dnR0dHV1tbCwOH36tKWlZXp6elNTk0QiedK3PJwfBEAABEAABEAABEBgQQhAsrwgLgNMAgRAAARAAARAAAQeWEAqlTY3NyclJZ08eXL79u3R0dGjo6MZGRl2dnYkEunKlSu5ubno4CqVKikpSVtbe9OmTb///e83btyoq6trY2MTFBR06tSp559/fu3atdra2hEREQMDAxwOx9LS8osvvnjxxRfffPPNw4cPm5ub+/j4mJmZvffee6+99tqBAwfc3Nxqa2tHRkaYTKZmn+WhoaHr168fPHjQw8ODzWa3t7cPDQ05ODisWrXq/fff37p16+XLl2NjYy9fvvz+++9//PHHu3fv9vX1HRwcLC8v9/DwOH78+MqVK7/++mt3d3d/f387OzstLa133nln165diYmJHA7H39//3Llzmzdvfuedd7744otz5875+fmlpqZGRUUFBga6u7t7eXlVVlaids+BgYG7d+/+4x//+OWXX6JY2crK6vPPP//9739/4MCBiIgILpc7MTFBp9M3b9780ksv/ed//ufWrVutra1dXV2tra1/+OGHd99999ixYyUlJVKplGhDgUjVarVSqayrqzMyMtq6deuuXbtOnTrl4uJCp9NPnjy5fv36zz777MSJEykpKRiGVVdXR0dHHzp06Jln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iYnZyfLg4GBNTY2VldVbb731ww8/5OXl9fT0YBgmFAoLCgpsbW23bdsGybLmbzHYBgEQAAEQAAEQAIGnXACS5af8BoDlgwAIgAAIgAAILEoB9Oy+4uLis2fP7tixw9PTs7q6emhoSHMxarVaJpMJhUIbG5v33nvv4sWLsbGxjo6O586dO1/dBbMAACAASURBVHTo0KeffnrkyBFDQ0NTU1NLS8vz588fOHDgxIkTRkZG0dHRfX19bDabQqEcP378yy+/3Ldv37lz50xMTCwsLAwNDY8dO3bkyBE9PT0vL6+ampqhoSEmkxkaGurj4xMQEFBbWzs8POzv73/q1Ckajcblcpuamjo6Ovz8/A4ePHj06NETJ05cunTJyspKX1//xIkTOjo6BgYGMTEx/f396enpurq6x44dO3PmzKVLl8zMzMhkso2NjY6OzubNmz/++OPz58+HhIS0TY/AwEADA4NTp07p6elFREQUFhYmJyejadBotOrqaplMxuVyw8LCDA0Nv/7665MnT175eWhpae3cufPq1avR0dGVlZXj4+NzJcspKSl79uz5/vvvY2JiZj/BD9UsNzY2Ojs7Hz169NixYz/++KOhoaGlpeXVq1cvXLhw7Nixo0ePRkVF9ff3l5aWRkREmJmZffPNNzo6OqjPsqmp6U8//XT48GFbW9u8vLysrKzo6OiAgIA7dsOQyWR9fX1xcXG7d+9etWrVrl27LC0tuVwuanwsl8u7urry8/OvXbt28ODBM2fOXL58GTWqPnv27Pfff29sbOzj41NaWioWi2cnyxKJpL+/PzIy8tixY99///25c+euXLly7do1Y2Nj3emhr6/v7+/f2toKfZY1f6PBNgiAAAiAAAiAAAg8tQKQLD+1lx4WDgIgAAIgAAIgsIgF5HJ5T09PWlraoUOH/vGPf4SFhaFWFbOXJBaLQ0JCDh06dPHiRVtb2ytXrmhra6NuCV999dVrr732v//7v88888yf/vSnF1988cSJE5mZmZ2dnRiGcTica9eu6erq6uvrf/fdd6tXr37uuef+MD2ee+65zz77LCAgoKmpCbXxLSoqmp0snz59mkajVVRU9PX1KZXKqqqq8PDwgwcP/u7n8ec///mll17S0dHJyclpb29XKBR1dXXBwcFaWlovvfQS2uvNN9/cv3//d999t3Pnzu3bt2/btk1fX5/L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6up6e3vxiBZFayqHw8nMzHR0dPzHP/7x1FNPLV269NFHHz18+PD3338fHR3d29vL4/GkUqmilY16VEYAmY7KtBIDgQAEIAABCEAAAhCAAASUWEAikdBoNDKZbGxs/Oqrry5evHjjxo27du06e/asj49Pb2/v0NAQ0gFFa7BAIGhsbMzKytLT03v22WcXLVqkoaGxfv36N99808nJqba2tru7e3h4WNHKRj0qI4BMR2VaiYFAAAIQgAAEIAABCEAAAkosIBaLi4qK3N3dv/76ay0trQULFuzYseNvf/vbTz/9FBcXhyt0FLO1YrGYw+G0tbV5enq+/fbba9euXbFixaJFiw4dOnTlypX4+Piamhoej6eYxaMqFRBApqMCTcQQIAABCEAAAhCAAAQgAAGlFxgeHk5OTtbR0fn73//+xBNPLFiwYP/+/RcvXrSzs8vLy8O1HorZYKlUKhQKuVxuQkLCzz//fOzYse3bty9btuyJJ544d+6cqakpmUzGC7AUs3eqURUyHdXoI0YBAQhAAAIQgAAEIAABCCi3wNDQUEhIyMcff7x79+4NGzYsWLDgpZdeun79ekxMTF1dnVgsVu7hqXT1MpmMQqG4urp++eWXR44cWbly5aZNm5599tlPPvnE19e3o6NDpUePwc2nADKd+dTHsSEAAQhAAAIQgAAEIAABCIhEIi6X29LSYmdnd/LkyW3btq1bt+7BBx/84IMPPD09KRRKV1cXnqSj4OdJa2trSkqKjY3N6dOnN27cuG7dup07dz7//PMEAqGgoIDJZPL5fAUfAspTRgFkOsrYNdQMAQhAAAIQgAAEIAABCKiOwODgYEtLS15eno6OztNPP71q1ao1a9Y89NBDX331FZlMZrPZAoFAdUaroiPp7+9vbm5OSUn54Ycftm/frqmpuXr16kceeeSLL74ICQmprKzs6elR0aFjWPMpgExnPvVxbAhAAAIQgAAEIAABCEBATQRkt6dxB9vX11dcXBwcHPzFF1889thjK1as2LJly65du65evVpRUTHuT7BS0QTEYjGfz6fRaObm5s8999yWLVs0NDQefPDB119/nUgkxsXF0Wg0RasZ9aiAADIdFWgihgABCEAAAhCAAAQgAAEIKLSAVCoViUTDw8MSieTOQtva2qKjowkEwttvv7158+a1a9ceOHDgvffec3R0bGhouHN7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ycnJdrudWLApkUiKioq2bt360ksvvf322/Pnz9+zZ8/ly5f37t07e/bsmTNnzpkz5/z582NjYyKRqLS0NDAw8NVXX50+ffqnn34aGBiYmpoaHBz8ySefEGdGR0cPDAyMjY3dlIqSyeTdu3efPn26sbGxt7fX4XDw+fzz589v2rTpH//4x1dffRUbGxsdHb13795Vq1bNmjVr3759HR0dSqWSy+UmJSXNnDlz7ty5oaGhSUlJ58+fDwoKmjFjxhdffJGdnU2j0erq6uLj4xctWvTOO+98+OGHq1evjoiIyM/PZ7FYZWVlAQEBe/bs4XA4Vqt1cHCwtLR0+fLlM2bMWL58eVBQUERERHBw8D//+c933313x44dWVlZCoWir68vOTl5zZo1f/vb32bMmLFhw4bjx49HRUUdPXr0448/njlz5uXLl3t7e3/09axarbagoGDXrl1///vfX3nllcDAwPz8fCaTSTyubrVa9Xr96OioTqcjclWLxVJfXx8eHr58+fL3339/165diYmJAQEBs2bN+vjjj7/88svCwkKLxdLZ2Xnjxo3169e/+OKLv//97//4xz+uWrUqIiJi69atX3zxRVhYWElJiUQiIaaw2+3Oy8tbtWrVqVOnysrKWCyWUqkMDw//05/+9Pnnnx86dOjkyZNRUVGrVq166aWXdu3a1dzcLJfL7Xb7tWvXZs+e/de//vVPf/rTyy+//Oc///ngwYNcLlej0SAVfYz+7wFDgQAEIAABCDwAAaSiDwAdt4QABCAAAQhAAAJ+KDA2NiYUCvfv3//cc8+Fh4drNBqlUikWi48dO/aHP/whPDx8cHCQCPVEIlFeXt66deueeOKJWbNmHTx4MD09nUajZWRkBAcHf/HFF3/5y1+OHDkilUpZLFZBQcGmTZt++9vffvjhh/v27bt06RKZTM7Kyjp06NCyZcveeOONffv28fl8pVIpl8unrhVtaGjYtGnT0aNHa2trJRKJTqerqqpat27d559/vmbNmhMnTlRNtoyMjJCQkPnz5+/evZvBYEgkEiaTeenSpTVr1mzbti07O7txssXExHz00UcLFiw4d+5cTU0Nk8ksLCwMCgpauXLl2rVrQ0JCsrOzqVQql8stKCj46quv/vd//7etrU2j0TAYjPj4+AULFsycOTMkJOTq1atlZWXXrl3bsWPHZ599tnjx4t27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SKPRYOmeWcOHtxCYgwJ3HvRrtVqhUFhVVXXlypX33nvP1dWVeHK4UCjMycnZtWvXn//857fffnvDhg2bN2/+8tu2fv36Dz/8cOnSpSYmJhs3bvTw8GCz2b9I0D85OWk0GokHiQsEgurqagqF4urqam5uvmvXrq+//nrz5s1r1qz55JNPdu7caWFhERMT09nZyWAw/Pz8jhw5smvXri+//NLKyio0NDRmqgUGBtra2pqbm69evfrVV1+1tbXlcrn9/f3FxcVkMjksLCwkJKSurm5iYmIOjiNKggAEIACBX1UAQf+vyoudQwACEIAABCAAAQg8LALTa/R7enouW7Zs7dq1VCr1B9boNxgMg4ODbW1t165de//99/fu3VtUVNTZ2env738nQX9ERERCQoKrq+uqVaseeeSR559/ftGiRW9NtUWLFi1cuPCll1568skn//znPx8/fry6ujouLu7kyZN3EvQXFBR0dXXZ2dm99NJLjz/++Isvvrhw4UJi54um2gsvvPD4448vXrz4woULWVlZ3d3ds8Z4Ouh3cXF54403Dh8+nJSUVFFRUV9f3/Rta25ubmlp6e/v12g0arV6YGDgh4P+9vb27u5uW1vbBQsW/EBVS5YsuXjxYnJyck5OTmFh4ZUrV1atWrV48eK33npryZIlK1asWL9+vY2NDYVCaWxsVCgUt32Y8Kzu4C0EIHDfBe486Fer1Twer7i4+MqVKytXrrx+/bpAIBgdHRUKhXQ6/eDBg6+88sqRI0dSUlKys7OzsrJoU41CoXh4eJw8eXLLli3Lli2ztLRsaGhQKBRCofAuZ/QbjcaJiQmdTqfVajUajVwuHxwc7OnpYTKZtbW1paWlqampXl5ep06d+uKLL1599dUjR47k5eUVFha6u7t/8803y5cvf/bZZ19++eU333yTuMK/8cYbr7zyyoIFC/7+978TjxthsVjd3d15eXkxMTFBQUGBgYG1tbUI+u/7SYsCIAABCNx7AQT9994cR4QABCAAAQhAAAIQmIcCk5OTCoWiv78/ICBg5cqV69ati46O5vP5SqVyurfEujpDQ0OKqdbW1paTk2Nra7t69WoLC4vq6moulxsQEHAnQX94eHh8fLybm9vatWv/9re/LVq0yGSqrVq16sOp9p///Oe99977z3/+4+TkxGAwyGTyHQb9+fn5nZ2d9vb2r7zy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Ozo6goKCdu/eraioePbs2czMzJycnNzcXAsLi6VLl86bN2/FihU7duw4efKkpqbm7t27Fy1atHTp0hUrVmzevPmHH34QiUTq6ura2to7duyYOXPmgQMHvL29b9y4UV9f39LScv36dVdXV7FYvGrVqq1btyorK0skkp07dwpvf/jhh7Nnzwq/KyQkJLi4uBw6dGjBggUbN248cOCAkpKSlpaWkpLSli1bNm3aZGxsfOHChZiYmLi4OHd391OnTi1fvnzSpEmvvPLK0qVLNTU1g4KCKioqpFLpf9/Un5CQoKuru3HjxhkzZnz11VcikSgsLCwxMbGoqKi2tra1tbWuru7mzZvx8fGpqak5OTnXrl0LCwszNDRcvXr157fajBkzFBUVra2tL168WFlZmZGRYWNjs3///nXr1i1cuHD37t1aWlonT57ctGnTmjVrduzYIRKJwsPDhd8wSkpK/Pz89uzZM3v27AULFixdunT16tVbtmwxMTGJj48PDQ09derU6tWrd+/eraSkpKysrKqqun///hUrVuzcudPFxSUzM7Ompua2S4i3CCCAAAIjXICgf4RfACwfAQQQQAABBBBAAIE7CAgbgoeGhq5fv/61117705/+JA/6hRevvvrq8uXLdXR0rly5cofz+QgBBH4qIAT9NjY2RkZGdnZ2qampP/3+f99VV1e7uLhs2rTp0KFDGhoaXl5eWVlZV65c2bdv3zvvvDNhwoS33wT1W7UAACAASURBVH57zZo1xsbGqqqqy5cv/+CDD95+++133nlHQ0OjpKSkrKxMiJtnzJjxl7/8Zc6cOSdOnDAwMHB0dDx48ODkyZP//e9/r1+/3tTU9NKlS01NTZaWlh999NHy5cuF3wmkUmlvb6+wd42Dg8P06dNnzJhhaGiYkJCQkpKSnp5+6NChv/71r3/84x//8Y9/fP3118ePH7eystqyZcu777770ksvjRs37vXXX1+wYMGBAwd0dHSEbYieffbZGTNmaGhohIWFCbvVe3h47N69e+7cuRMmTFiwYIGGhoaent769es//fTTSZMmvfnmmydOnMjMzMzPz4+MjNTR0fnyyy/Hjh07adKkFStWHDlyxNLSUl1dfeHChZ9++umOHTtMTU09PT0vXrzo7Ox85MiRRYsWTZ48+fXXX1+8eLFYLPbz8ystLRX21bkNPDU11cbGZtu2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dY+NjY22trZEIgkJCWloaCgtLU1MTLS0tJw3b977778vFosTEhLy8/NbWloqKirS0tIcHR2XL18+ceLEQ4cORUVFXbt2LSMjw9XVdc2aNStXrvTz85NPMi0tzcHB4fjx42vWrFm/fr2zs3NZWVldXV1LS0t2dnZQUJClpaVYLFZSUoqIiCDol9eUFwgggAACvb29BP1cBggggAACCCCAAAIIIPC/AnV1dXZ2dosWLfryyy+nTJkyefLk999//5133hEekvnb3/728ccf/8Mf/vDyyy9PmDDhww8/nDp16rRp07744ot169adOHHi3LlzffcEhxUBBOQCOTk5AQEBJiYmR241Z2fnq1evxsXFXb58OSQkxMPD49SpU59//vkLL7zw2WefCQlvdXV1U1NTSUmJr6/vypUrX3nlFQUFBXNz8/Pnz6ekpMTFxXl6ekokklmzZv39738/fPhwcnJyfHy8j4+PRCKZM2fOhx9+eOrUqdjY2KSkpKysLB8fn6NHj65du3bLli2HDh06f/58a2uru7v7sltNLBa7uLjExMRkZ2eHhIRYWVmtW7fulVde+eijj/T09ORBv46Ozpdffnnw4EH51j0dHR2pqannzp07derUggULjhw5kpCQIMTWnZ2dfR/G6+rqeuPGjdzcXC0trc8//3zdunXCoNeuXcvOzr527Zqvr++mTZueffbZzZs3h4eHx8XF/dzWPX0fxvv111+bm5vX1NQ0NTUVFRX5+vpu2LDhgw8+EIlE169fLy4u/rnH1Qq74S9duvTTTz+dOnWqWCyOjo5OTEzMzs7OzMxMSko6e/bsnj17vvrqq2XLlm3bts3FxUV4vEFERIS1tbWSktLevXvPnDmTnZ1dUFCQm5vr4uIyf/78f/3rX5s2bbKxsQkODk5PT4+JiXF3dz958uT06dPlu5zl5uZmZ2e7uLgoKCgsX77cx8dHHvQXFxdfuHBBT09v4cKFU6dOFX7zSElJyc3NDQ8PNzAw2Ldv3/r167ds2eLj40PQL//vixcIIIAAAgT9XAMIIIAAAggggAACCCDwfwLt7e1JSUlubm729vaWlpYWFhaWlpbq6uqrV6/+4IMP/va3vz355JP/+te/Fi9efODAAV1dXdtbzd7e3tvbOyIiIiMjo6mp6f+64xUCCPwokJubGxgYqK6uvmTJks8++2zx4sVbtmzZ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AggggAACCCDQnwIE/f2pSV8IIIAAAggggAACCAwPgcDAwO3bt3/88cfPPvvsXYL+xx9/XNi1X1FRMT09vbm5ubu7e3gIsAoEEEAAAQQQQAABBIaQAEH/ECoWU0UAAQQQQAABBBBAYIAErl69ampqunr16tdee+0uQf/YsWNfe+21adOmGRgYFBcXS6XSnp6eAZoiwyCAAAIIIIAAAggggMCPAgT9P0rwLwIIIIAAAggggAACCPwoUFRUdPHiRZFINGnSpLsE/X/84x+nTZumqKjo7e3d0NAgk8l+7IB/EUAAAQQQQAABBBBAYOAECPoHzpqREEAAAQQQQAABBBAYKgL19fV5eXn29vYLFix44YUXfm6n/ueff37NmjUODg5Xr15tb28fKqtjnggggAACCCCAAAIIDDMBgv5hVlCWgwACCCCAAAIIIIBAPwh0dXW1tbVFRUXt37//o48+evHFF+94X//LL7987Nix1NTU8vJydufvB3e6QAABBBBAAAEEEEDggQQI+h+IjZMQQAABBBBAAAEEEBgBAjdu3DAzM1uzZs3bb799W9A/duzYZ5999j//+Y+ZmVltbW1bWxv79oyAK4IlIoAAAggggAACCAxSAYL+QVoYpoUAAggggAACCCCAwCMXKCsri4iIUFdXnzZt2m1B/3PPPffRRx9t27bN19e3o6OD2/kfebGYAAIIIIAAAggggMBIFiDoH8nVZ+0IIIAAAggggAACCNxNoKmpKTc318vLa8WKFb///e/HjBnz2GOPCYn/a6+9tmrVKmNj44SEhLt1wXcIIIAAAggggAACCCDw8AUI+h++MSMggAACCCCAAAIIIDA0BaRSaUNDQ1xc3LFjx95///2XXnrpySefFIL+d99999SpU5GRkQUFBUNzccwaAQQQQAABBBBAAIHhI0DQP3xqyUoQQAABBBBAAAEEEHgYAsXFxdbW1qtWrZo0adLo0aOfeOKJUaNGTZ8+3d7evqysrLm5+WEMSp8IIIAAAggggAACCCBw7wIE/fduxZEIIIAAAggggAACCIxEgZqamvDwcG1t7Tlz5owbN+7ZZ5+dMGHC1q1bg4ODm5qapFLpSERhzQgggAACCCCAAAIIDCYBgv7BVA3mggACCCCAAAIIIIDA4BNoa2vLzc0NDw/fvHnzU0899eabby5ZskRXVzc5OVkmkw2++TIj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ktVq9fGvtlqtkiRJ09Qe/VYSAQIECBAgQIAAAQIECBAgQIAAAQIECBDYi0DfoL+u67IsQwjxZ3jb/yGEsizt27OX4hmUAAECBAgQIECAAAECBAgQIECAAAECBAj0DfqjVN3VIBIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL7Erhf0L+vWRqXAAECBAgQIECAAAECBAgQIECAAAECBAgQ6BQQ9Hey6CRAgAABAgQIECBAgAABAgQIECBAgAABAsMQEPQPo05mSYAAAQIECBAgQIAAAQIECBAgQIAAAQIEOgUE/Z0sOgkQIECAAAECBAgQIECAAAECBAgQIECAwDAEBP3DqJNZEiBAgAABAgQIECBAgAABAgQIECBAgACBTgFBfyeLTgIECBAgQIAAAQIECBAgQIAAAQIECBAgMAwBQf8w6mSWBAgQIECAAAECBAgQIECAAAECBAgQIECgU0DQ38mikwABAgQIECBAgAABAgQIECBAgAABAgQIDENA0D+MOpklAQIECBAgQIAAAQIECBAgQIAAAQIECBDoFBD0d7LoJECAAAECBAgQIECAAAECBAgQIECAAAECwxAQ9A+jTmZJgAABAgQIECBAgAABAgQIECBAgAABAgQ6BQT9nSw6CRAgQIAAAQIECBAgQIAAAQIECBAgQIDAMAQE/cOok1kSIECAAAECBAgQIECAAAECBAgQIECAAIFOAUF/J4tOAgQIECBAgAABAgQIECBAgAABAgQIECAwDIE/AKFw22nzYb56AAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAB2QAAAPdCAIAAADalk+gAAAgAElEQVR4Aezdd1RbV7o3/ntnMrk35b3JpHqcxMZ1HJc4jh1jXDHYGIwNmGKw6b333hEgeu/VdCSKAFEFiCp6kUBC9C4kmpCQRG9+1897RYvXdjJJJvObXGfvv0A+Ojrns4/wWt/znGf/x3M4oAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlDgDy/wH394AQgABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgALPYVgMLwIoAAWgABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIBhMbwGoAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlDgOQyL4UUABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAIwLIbXABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAAKPIdhMbwIoAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlAAhsXwGoACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAJQAApAgf9P4D8gAxSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAAKQAEYFsNrAApAASgABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFYGUxvAagABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAC2oYDXABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAAKwJ7F8BqAAlAACkABKAAFoAAUeI3A5uYmj8fjcDg8Hm9tbW1ra2tvb+812z1/vrOzs7q6ymazV1ZWNjc3d3Z2fmzL1779/58X9/b2VldXl5aWmEwmi8XicrkbGxs/8dG7u7tbW1scDmdubo7JZHK53PX19e3t7Z94C/ynf7vA3t7e9ouxu7v7bz8YeABQAApAASgABaAAFPhfKgB7Fv8vnTh42FAACkABKAAFoAAU+BcKTE1NNTQ04HC4xsZGIpE4MzOztbX12s9jsVhdXV1FRUUtLS1jY2NMJvOnc9jX7uRf+uLu7u76+npXV1daWtqzZ89yc3PxePzo6OjOzs5rP3d7e5vH401PT5eXlwcGBiYnJ1dXV1Op1IWFhdduD1/8PQjs7e2tra0tLi7Ozc3x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T/7rv/7rT3/6E4vFam1tVavVVqs1JyfnjTfeeOqppwQCweDg4MzMzMLCwuDgoEgk+vvf/37u3DmBQFBYWKhWq20228TERF9fH+ncBx544NixYxKJpKCgoK+vLzIy8sknn/zpT3/60ksvsVisoqIirVZL/lkeGBhgMBgPP/zwk08++c0336SkpFRVVQ0MDIjF4qeffvrxxx8XiUSBzlUqlampqefPn3/hhRfuuuuud999t7i4uKenJzw8/N133yWfY6WlpfX399vtdpPJNDs7m52d/f777x84cOCrr75KSUmRy+WxsbEMBuPIkSOPP/44k8ns6uqamZmxWCx6vb6urk4mk33//fcffPDBhQsXamtrA/54AQEIQAACGyWAsHijJHEfCEAAAhCAAAQgsJMFyGJbp9Np/aGQ7ztfs81kqanP5yNp7zWvJ5uTLiwseDwen8931VDmmje5BReQtNezXEi+GXgoOYxr1S8Df13PC7/fT8Q8Hs+Vbn6/n2TWOp2upqZGLBZzudyMjIyOjo7+/n6VSkVOAoyNjf3kk08efvjh06dP19bWkhWaq55OWuF2u2/xQXABPfLolVnwqhrix/UImM3m9vb2pKQksg0FWVns9/sNBoNKpQoLCyO7cv/5z39+8803IyMjx8bGfD4fWbErFosDYbHBYJiZmdFqtdHR0YcPH37qqadOnjwZEhIil8tLSkpycnKioqKYTOaHH3544MABBoOhUCgsFotOpxscHOTxeE888cQLL7zAZDKLi4vJAYyxsbF/+9vf9u3b980332RnZ+fl5RUWFsrlcg6Hc+rUqWeeeeauu+56/fXXExISyCr+yspKOp3+/PPPv/jii99++21iYmJGRkZhYWFsbOy//vWvo0eP7t279+c//zkJi/v6+mJjY88sl7Nnz3I4nJSUlLKyspycnKSkpDNnzuzZs+eBBx54+eWXv/jii+zs7NnZ2enp6aamJrlcfvHixaNHj37//fc5OTmNjY2XLl3Kzc1lMBhvv/32iRMnJBJJSUlJfn5+VlYWj8c7duzY/v37//rXv+7Zs4fBYHR3d9tsNo/Hs6prAmFxSkoK0fv8888jIyPj4uKSlws5WC+wP/tf//rXwC4u5HOsurq6M2fOPPnkkx9//HFISEhiYmJ+fn5BQUFSUpJEInnnnXfuvffeRx999OzZs2lpaZ2dnWazubCw8NixY/v27fv888+jo6NramomJyf7+vqio6PPnDlz9uzZL774gsfjpaWlERm5XH769OlHHnnk97///SuvvHLu3Ln4+PiOjg6ZTPb000//9Kc/ffrpp8n3P9LT0wsLC9PS0iIjI0+cOPGHP/zh0KFDISEhDQ0NPT09arU6Li7u9ddf379//7fffruqc0+ePLlv375f/epXb7zxhlwur66ulkgkH3/88YkTJz744INvvvkmOjq6tLS0pKSksLAwJCTkgw8+eOutt7hc7qVLl6qqqmpqauLj4z/66KPHH3/81KlTMpmMDIPc3FyhUPjZZ5+dWi5kO6NVvYAfIQABCEDg5gUQFt+8Ie4AAQhAAAIQgAAEdoVAIOC7akK6NsH6t5Uk4bJ/uWzlDJG06Mfquf72/phb4P5XIpBMymaz6fX67Ozsjz/++IUXXjh27NjXX38tEAgSExNFItEnn3zywgsvvPLKK0eOHAkODu7t7b0ydCaPJtH2LQ7lA63byp8H/FjXbMHfk7A4OTmZnP1IwuLFxUWn02kwGDIyMt58880//vGP77zzDjmLcnZ2lnz8o9frV4bFZrPZYrHYbLaGhgayF8qrr776xBNPHDhw4OWXXz506NDBgwdfeumlU6dOcTicoqKiyclJslqcbE/89NNPP/LII2Qzivj4+OHh4aysrFOnTj333HMHDx584YUXXnzxxUOHDh05cuTjjz8+ffr0/v3777rrrmeffZbBYBQWFra1tWm12qysrK+++uqtt956+eWXDxw48Pzzz5PDDJ999tknnnjivvvu+9nPfkbCYpVKdenSpfDw8FOnTj3xxBOPPfbYc8899/rrrx89evSDDz545513Xnnlleeee+7p5SIUCskK346OjoyMjE8//fT3v//9gQMHTp8+HRISkpOT097ezufzX3jhhccee+zAgQOHl8srr7zy1ltvHT9+/O233967d+8vfvELss+GVqu1Wq2rRkIgLE5LS3vttdcefPDBvXv37tu3b//+/c8uF/Li1VdfPXr06GeffUaj0eLi4lpbW41Go91u93g8/f394eHhJ06cIAn7gQMHDh069Oabb3700Ufnzp174403/vSnPz322GOvv/76uXPn8vPzDQZDVVXVuXPnDh48eODAgWeeeYZGo9XX13d2dhYUFEil0o8//vgvy+XgwYMrZQ4fPkxk9u/fT6PRamtrw8PDyXmDzzzzzCeffHL8+PE33niD9Pj+/fsPHTr02muv/etf/yorK5ucnJydnTUajfn5+eSsvJWd+9Zbb5E9bZ555plf/epXBw8eJNvRpKWlpaSkXLhw4fDhw/v27Xv++edfXi4vvfTSq6++euTIkc8//zwlJUWlUmk0momJiebm5pCQkGPHjr3xxhtkTfdLy4VU+9SpUxERETU1NVqtdlUv4EcIQAACELh5AYTFN2+IO0AAAhCAAAQgAAEIQOCWCpAc0Gg0pqenv/XWWySW2r9//3vvvXfhwoWPP/54z549d9999+HDh6lUan5+PiKVW9o9t/xhVqu1p6cnJyeH5MX5+fkqlWppaYns8VJTU/PVV1+9/fbbDAYjJyenp6eHBJ3kGLqYmJjDhw9/8cUX1dXVNpuNbO0yOTnZ1NQUGhr62muv/fyHcuedd/7617/es2fP999/X19fr1arHQ6Hz+dzOBwzMzNxcXFHjhzZu3fvH//4xyeffDI4OHhsbKympobL5f79738nK4LJnR5++OFjx4599913R44cefjhhw8fPvzdd9+lpaX19fUtLS319vbK5fIvvvji6aef/uHJP//Nb37z8MMPP/7444888sgDDzzwzTfftLW16XS6gYGBysrKc+fOPfDAA+Tiu+6666GHHnr22WfJ9hSnT59+8cUXH3roIQaDoVQqp6enlUplaWnp6dOn77333oceeujll1/++uuvc3JyJiYmIiMjX3311QcffPCee+6544477r777nvuuee55547e/bs+fPnDx48+Itf/OL48ePZ2dnDw8NGo/HKfvb5fAsLC/n5+R9++OGePXt+97vf/eLfyz333LNv3773338/ODi4srJSpVKZTKbAfaampiorK0NCQo4cOfJf//VfpEW/+93vDh069Nlnn73//vtvvvnmq6++evjw4ffeey8lJcVgMLS3t4eEhLz33nt/+ctf7rjjjg8++CA/P59sGVRaWvr555/fd9995D533333H//4x+eee+7dd9/98ssvP/300+eff/7RRx/99ttva2pqEhISyE2OHDly7ty511577f777ydv/NWvfnXo0KHvvvsuMzNzZGQk8Klhc3OzQCA4evTonj17yJU///nPH3nkkePHj1+4cIF8PvHKK6/861//SkxMrK6uHhkZCQsLIzH6Pffc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5pvvu+++xx577Mknn/zud7/7xhtvvPPOO//zP/8jkUiKioo6Ojqmp6f9fv9ez4f9IAABCEDgagkgLL5a0jgPBCAAAQhAAAIQgMCRF/B4POPj483NzY2bpa+vb2lp6cirAODaC/T09AiFwjfeeOOb3/zmrbfeevz48WPHjl23WbbkgJGXd99996OPPvrjH/84Ly8vFAohKb72vXh1azA1NaXX69ls9ksvvRQZFZGw+Lrrrrv++uuPHTt244033nzzzbfeeuvtt9/+mc985tSpU3/7t3/77rvvyuXyjo6O9fX1q1trnA0CEIAABC4sgLD4wkbYAwIQgAAEIAABCEAAAvsiYLfbGxoa4uPjRZslJyfHZDLty5FxEAhcjsDExERZWRmDwXjttdceeeSRe+65Z5cFKIhA8PTp088///x///d/V1dXX86p8d1DKrC6umoymTIyMl5//fUbb7zxhhtuiDz2cEt2HEmQT5w48cADD7zwwgsxMTEVFRVms9nn8x3S5qPaEIAABKJYAGFxFHcumgYBCEAAAhCAAAQgcLAEFhcX1Wr1W2+99bPNQiaTm5qaDlYVUZsjKeB2u+fm5pqbm2k02osvvvj444/ffvvt20Z+kTe/+tWvvvXWW/Hx8Z2dnUfS7Kg32ufzORyOhoaGX/3qVydOnNh90ZK/+Iu/uO666+65555HH3309ddfl8vlY2Njq6urWOf6qA8jtB8CEDiQAgiLD2S3oFIQgAAEIAABCEAAAtElEAgE1tfXTSYTk8l8+umn/3qz/PznP8/Pz3c6nT6fD3fxR1eHH8rWLC8v5+Tk/PrXv37++efvu+++3ZehePbZZz/++OOSkpKRkZFD2VpUej8EBgcHP/zww9OnT588eXKnq9Gvv/7648eP33LLLWfOnHnllVc+/vjjmpoal8uFy4r3owdwDAhAAAL7L4CweP9NcUQIQAACEIAABCAAAQhsEXA6ndPT09XV1b/5zW8efvjhBzfLSy+9FBcXNzw8vLS0FAgEtnwFLyFwlQXW1taam5uTk5PffPPNRx555PrNErmUeMvG9773PalU2t3dvbCwcJXridMdHAGLxcLj8V544YXHHnvstttu2zJIiJfHjx+/8847H3zwwddee00oFFZVVY2Njfn9flxWfHD6ETWBAAQgcK4AwuJzNbANAQhAAAIQgAAEIACBKyKwtLTU1dUll8t/9KMfHT9+nMhQnnjiiT/84Q96vX54eNjr9V6RE+OgENibQDgcdrlcZrO5qqrq/fffP3PmzLHNQlxffN111xGDNvLgstdee62oqGhhYcHlcu3tDNgrCgWmpqYUCsUvfvGLZ5555q677to2LL7pppvuv//+xx577I9//GNXV5fD4fD7/VFogSZBAAIQiBYBhMXR0pNoBwQgAAEIQAACEIDAARYwm80ajeb3v//9s88+e8MNNxCRyqlTp15//XUOh6PX69fW1g5w9VG1KBfw+Xx2u50Ype+9997LL7/84IMPHjt27IbNcuzYsUhYfOzYsdtvv/2+++771a9+VVtb63A4sJhAlA+OXZu3uLh49uxZCoXyD//wD5/5zGe2DYtvvPHGu+++++GHH/7tb39bW1u7sLDgdrt3PSo+hAAEIACBaymAsPha6uPcEIAABCAAAQhAAAJHRKC1tfWTTz75u7/7u0cfffTYsWNEpHLy5MlvfvObb7zxRnp6+vLy8hGhQDMPoIDT6ZycnKyurn7vvffOnDlz//3333LLLceOHbvxxhtvvvnm48ePR8LiG2+88YEHHjhz5syHH35oMBhCoRCW2z6AHXrVqmSz2drb21Uq1c9//vOHHnpo27D4hhtuuO22206ePPnLX/6ypKRkbGwMv41dtQ7CiSAAAQhcggDC4ktAw1cgAAEIQAACEIAABCCwJ4FwOLy+vm61WgsLC996663HHnvs3nvvvf7664lI5bbbbnv44YeffPJJGo02MDCwtraGu7P3xIqd9k/A6/U6HA6j0Zifn08ikb73ve/dddddt99++5133vnwww8/9dRTr7zyyje+8Y3777//tttuO378+K233vrlL3/5lVdeEQqFZrN5/yqCIx1KAbfbPT4+3tTU9P777z/66KM33HADsdT1zTfffMcdd9x7770PPvjgQw89dM8995w4ceLll1/++OOPc3Jyent7HQ6H1+vFLw2HstdRaQhAINoFEBZHew+jfRCAAAQgAAEIQAAC104gFAotLi4ODAzEx8e//PLLd95558033xy5SJO44O6zn/3sf/7nf2q12rGxMYfDce0qizMfOYFQKGSz2SYnJ/Py8n7zm998+9vffuSRR2666aa777771KlTzz///B/+8AeFQvHOO+/89V//9UMPPXTbbbfdeeedzz///O9///usrKypqakjR4YG/1+BYDDodDrn5+fZbPZXvvKVW265hVi65OTJk4888shXv/rVZ5999umnnz516tTx48dPnz79zDPPvP3221lZWePj41arNRQK/d/j4RUEIAABCFx7AYTF174PUAMIQAACEIAABCAAgWgV8Pv9JpOptLT0gw8++NrXvrbtPdq33nrrD3/4Q6lU2tjYuLCwEK0UaNeBEgiHw4FAwOl0Dg4OVlZWfvLJJ88+++ztt99+4sSJW2655Qtf+MILL7zw7rvv5ufnj4+Pp6Wl/eu//uuzzz778MMPf/azn33jjTckEkl9ff3S0tKBahQqc60EgsFgamrqc88998ADD9y5Wb7yla98//vf/+lPf/rOO+/88pe//Pa3v3333XcTHz311FMfffRReXm50WgkHnaH64uvVcfhvBCAAAS2FUBYvC0L3oQABCAAAQhAAAIQgMA+CKyvr1dXV1MolFdfffWRRx7ZNiy+6aabnnrqqf/4j/+Qy+Umk2kfzopDQOBCAj6fb3V1dWRkRK1W/+53v3v55Zc///nP33rrrffee+/nPve5H/zgB3Q6vbi4eGBgwGazdXV1ZWdnf/TRRy+++OLXv/719957r7y8fGhoCBfCX4j5qHweDAZzc3N/8pOfPPnkk48//viZM2feeustiUSSlZVVWlqqUql++9vfPv3001/4whfuuuuuU6dOvfjii++8845CoTCZTKurq3hG4lEZKGgnBCBwSAQQFh+SjkI1IQABCEAAAhCAAAQOoYDD4VAqlT/60Y/+6q/+6p577tk2LL7hhhtOnTr1zDPP/PGPf2xtbT2ErUSVD5+Ay+WamJior69///33v/jFL95+++3Es+w+97nPff3rX//oo4/a29tdLlcgENjY2PD5fA6Ho7Ky8u233/7Od74jEAhMJtPKygqW2D58HX9lahwKhXQ63Ycffvjaa689//zzL774Ylxc3NTU1Pr6eigUmp2dVSqVb7311jPPPHP33XcfP378xBvgYmwAACAASURBVIkTp0+f/t3vfqfX68fHx51O55WpF44KAQhAAAKXIoCw+FLU8B0IQAACEIAABCAAAQjsLuDz+axW69DQEJPJfOaZZ4j1XrcNi48dO3bPPfc88sgjb775Zl5e3sLCAqKT3W3x6eUIeDwem83W19enVqs/+OCD7373u/fff/8dd9xxzz33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6wIQFq/1Iwj1gwAIgMB/CczOzg4NDTU1NcXExJiZmcnLywsJCfHy8t68efPq1atsbGznzp8/febMyTNnTp07DzMIfKjAyTNnT589e/bcOVZW1suXL3Nxcd2+fVtQUFBSUlJfX9/X15dCodTX109PT8M1CQIgAAIgAAIgAAIgAAIgAAIgsEYFICxeowcOygYBEACBNwUWFxdnZ2cnJia6u7tra2tzcnISEhICAwOdnZ3NzMwQCISkpKTA48c3b95ku3wZZhD4IAF2dg4eHp77vLxCQkLy8vK6urqWlpaenp4xMTF0Or26urq1tbW/v398fBz6FL95ZcJrEAABEAABEAABEAABEAABEFg7AhAWr51jBZWCAAiAwIcITE5OdnV1VVdX0+n0pKSk0NBQDw8PS0tLPT09BZhA4Gs/8xIAACAASURBVAMFlJSUtLW1TUxMHBwc/Pz8CAQCmUwuKipqa2ubnJz8kBMT1gUBEAABEAABEAABEAABEAABEGBeAQiLmffYQGUgAAIg8DECc3Nz4+Pjg4ODXV1dzc3NtbW1ZWVl+fn5mZmZaTCBwAcKkMnkjIwMOp1eVFRUWVlZX1/f1tbW29s7Ojo6Nzf3MScqfBYEQAAEQAAEQAAEQAAEQAAEQIB5BCAsZp5jAZWAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwKoJQFi8avSwYxAAARAAARAAARAAARAAARAAARAAARAAARAAARBgHgEIi5nnWEAlIAACIAACIAACIAACIAACIAACIAACIAACIAACILBqAhAWrxo97BgEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEmEcAwmLmORZQCQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAismgCExatGDzsGARAAARAAARAAARAAARAAARAAARAAARAAARAAAeYRgLCYeY4FVAICIAACIAACIAACIAACIAACIAACIAACIAACIAACqyYAYfGq0cOOQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQIB5BCAsZp5jAZWAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwKoJQFi8avSwYxAAARAAARAAARAAARAAARAAARAAARAAARAAARBgHgEIi5nnWEAlIAACIAACIAACIAACIAACIAACIAACIAACIAACILBq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
[[LinuxTips]]
<div class="box">
* inspecting the contents of `/proc/cpuinfo`;
* using sysconf(3) to obtain the values of the _SC_NPROCESSORS_CONF andSC_NPROCESSORS_ONLN parameters
* inspecting the list of CPU directories under `/sys/devices/system/cpu/`.
</div>
!! Performance
```bash
time grep 'model name' /proc/cpuinfo | wc -l
384
real 0m0.796s
user 0m0.019s
sys 0m0.720s
time nproc --all
384
real 0m0.119s
user 0m0.010s
sys 0m0.072s
```
[[Finite state machines(FSM) / finite-state automaton (FSA)]]
* each of its transitions is uniquely determined by its source state and input symbol
* reading an input symbol is required for each state transition.
[[Project Management]]
项目重构时,鉴于发布可能会强依赖SA的时间,无法保证,可以做以下事情:
* `1.0`版本在基本过完后固定下来,不要重复迭代;
* `1.0` 写好要与QA过的测试样例,场景;
* QA测出问题后,可以在`1.1`版本的check list补充;
* 如有什么问题,可以发布旧的稳定版本;
[[Development]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'DevelopmentTools' sort[ind]>>
</div>
[[security/encryption/cryptographic protocol]]
# 客户端与服务端如何安全地通信,RSA真的安全吗?
[理解 Deffie-Hellman 密钥交换算法](http://wsfdl.com/algorithm/2016/02/04/理解Diffie-Hellman密钥交换算法.html)
## 前言(其实只是想介绍DH算法的印子)
众所周知,`SSL/TLS` 通过 `CA(数字证书认证机构)`解决了身份验证机制中,中间人攻击的问题,
在`SSL/TLS` 旧版本中,使用的是`非对称加密`与`对称加密`混合的方案。
因为非对称加密解密比对称加密解密慢(运算量少多了),`非对称加密`(如使用RSA 密钥交换)只是用来传递一个`密钥`给对方,随后的`对称通信加密`都使用此密钥。
举一个`https`的场景,说的有点细,可略过:
1. 客户端生成一个随机数 `random_A`,并告诉服务端自己支持什么版本的TLS,什么加密方法以及压缩方法;
2. 服务端生成一个随机数 `random_B`,决定使用什么版本,加密方法等,并发送自己的CA证书给客户端;
3. 客户端拿到服务器的证书后,到 `CA(数字证书认证机构)`验证证书有效性;
4. 客户端生成一个随机数 `random_C`(准确说法是` PreMaster Secret`),最终`密钥导出算法 PRF`会讲上述三个`random`随机数算出一个密钥K,也叫 `Session Key(会话密钥)`;
5. 用服务器的公钥加密 `Session Key(会话密钥)`后得到一个token,发给服务器;
6. 服务器用自己的私钥解开这个token,也得到了一样的`Session Key`;
7. 有了共同的密钥`Session Key`,之后通信就用对称加密算法;
可对照参考下图:

以上方案大体上是安全的,因为RSA无法解开,即使有中间人拿到token,也无法得知密钥 K,通过密钥K加密的密文中间人也无法破译。
### 不足
但有一个瑕疵,那就是这并不是前向安全的——就是如果有人记录了通信双方的所有信息,一旦服务器的私钥泄露,就可以解开用私钥加密的token得到双方通信使用的 `Session Key`。
可能大家最初的想法是,私钥都能被整泄露,那咋整都整不了,加密个蛋蛋。
事实上,2014年 `OpenSSL`库的心脏出血漏洞就打了一众脸——私钥真有可能泄露,还是在SSL的过程中。
`OpenSSL` 为了维持 TLS 链接的长期存在,引入了心跳 (heartbeat) 机制的扩展实现。
但因为在使用`malloc`申请内存前
```cpp
/* Enter response type, length and copy payload */
*bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp);
memcpy(bp, pl, payload);
```
没有检查心跳包的长度,所以可以把 `payload`长度的pl数据复制到bp,假如pl的实际数据只有一个字节,payload大于1就可以把pl变量后的所有数据都复制到bp,而当中很可能就有私钥的数据。
## 曙光
既然密钥交互有这么多问题,有没有办法不传递密钥,却两个人都神奇的能得出共同的密钥呢?
答案是可以的,这就是神奇的DH 算法交换密钥,这也是我在某司用来实现自研 RPC通信 的基础原理。
### DH 算法交换密钥
DH 算法能够安全交换密钥的基础是离散对数问题 ([Discrete logarithm](https://en.wikipedia.org/wiki/Discrete_logarithm))。
简单说,就是客户端跟服务端各自内部选择一个保密随机数`Xa`自己用,然后通过各自约定的 `a 与 p素数`, 计算 `Ya = a^Xa mod p` 传给对方,然后根据这个结果各自都可以算出`共同密钥 K`, 大致原理如下图:
[img[https://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Diffie-Hellman_Key_Exchange.svg/500px-Diffie-Hellman_Key_Exchange.svg.png]]
###可暴露公开元素
也就是上图的common paint
- p 素数 服务端与客户端提前约定使用一个数字
- a 素数 (a < p) 服务端与客户端约定的一个数字
### 客户端生成密钥
- 自行选择保密随机数 `Xa(Xa < p)`,也就是上图的 secret color
- 计算公开的 Ya,也就是传给服务端的数字 `Ya = a^Xa mod p`
### 服务端生成密钥
- 自行选择保密随机数 `Xb(Xb < p)`,也就是上图的 secret color
- 计算公开的 Yb,也就是传给客户端的数字 `Yb = a^Xb mod p`
#### 生成最终共同密钥
- 客户端接受服务端返回的 `Yb` 后,` K = Yb^Xa mod p` 计算出共同密钥 K
- 服务端自己可以`K = Ya^Xb mod p`生成密钥K
### 原理
* 对于客户端:`K = Yb^Xa mod p = (a^Xb mod p)^Xa mod p = a^(Xa * Xb) mod p`
* 对于服务端:`K = Ya^Xb mod p = (a^Xa mod p)^Xb mod p= a^(Xb * Xa) mod p`
核心就是: Ya 与 Yb 公开暴露了,但就如逆推RSA太难,所以也无法得出 `Xa`,`Xb`
## 希望
于是`TLS1.3`把 `RSA 密钥交换`废弃,使用了 `DH 算法`作为唯一的密钥交换算法。
综上所述,DH 算法有前向安全性,密钥密钥在途中传输,也没有暴露的风险,甚至可以每次都生成临时私钥。
更详细的使用了 DH算法的SSL过程可参考下图:

## 后记
安全这块真的很细很全,此文也难免有纰漏。
但本意是根据曾经的`DH算法`笔记,做一个`TLS`与`DH算法`简单科普,希望对你有帮助。
### 引用
https://razeencheng.com/post/detail-of-tls13
https://yq.aliyun.com/articles/632491
https://program-think.blogspot.com/2016/09/https-ssl-tls-3.html
[[DP questions category]]
------
Generate problem statement for this pattern
### Statement,问题描述
> Given a target find a number of distinct ways to reach the target.
### Approach,解题方法
> Sum all possible ways to reach the current state.
```cpp
routes[i] = routes[i-1] + routes[i-2], ... , + routes[i-k]
```
Generate sum for all values in the target and return the value for the target.
```cpp
for (int i = 1; i <= target; ++i) {
for (int j = 0; j < ways.size(); ++j) {
if (ways[j] <= i) {
dp[i] += dp[i - ways[j]];
}
}
}
return dp[target]
```
### Similar Problems,类似问题
[70. Climbing Stairs](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/climbing-stairs/) `easy`
```cpp
for (int stair = 2; stair <= n; ++stair) {
for (int step = 1; step <= 2; ++step) {
dp[stair] += dp[stair-step];
}
}
```
[62. Unique Paths](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/unique-paths/) `Medium`
```cpp
for (int i = 1; i < m; ++i) {
for (int j = 1; j < n; ++j) {
dp[i][j] = dp[i][j-1] + dp[i-1][j];
}
}
```
[1155. Number of Dice Rolls With Target Sum](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/number-of-dice-rolls-with-target-sum/) `Medium`
```cpp
for (int rep = 1; rep <= d; ++rep) {
vector<int> new_ways(target+1);
for (int already = 0; already <= target; ++already) {
for (int pipe = 1; pipe <= f; ++pipe) {
if (already - pipe >= 0) {
new_ways[already] += ways[already - pipe];
new_ways[already] %= mod;
}
}
}
ways = new_ways;
}
```
**Note,备注**
Some questions point out the number of repetitions, in that case, add one more loop to simulate every repetition.
[688. Knight Probability in Chessboard](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/knight-probability-in-chessboard/) `Medium`
[494. Target Sum](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/target-sum/) `Medium`
[377. Combination Sum IV](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/combination-sum-iv/) `Medium`
[935. Knight Dialer](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/knight-dialer/) `Medium`
[1223. Dice Roll Simulation](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/dice-roll-simulation/) `Medium`
[416. Partition Equal Subset Sum](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/partition-equal-subset-sum/) `Medium`
[808. Soup Servings](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/soup-servings/) `Medium`
[790. Domino and Tromino Tiling](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/domino-and-tromino-tiling/) `Medium`
[801. Minimum Swaps To Make Sequences Increasing](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-swaps-to-make-sequences-increasing/)
[673. Number of Longest Increasing Subsequence](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/number-of-longest-increasing-subsequence/) `Medium`
[63. Unique Paths II](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/unique-paths-ii/) `Medium`
[576. Out of Boundary Paths](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/out-of-boundary-paths/) `Medium`
[1269. Number of Ways to Stay in the Same Place After Some Steps](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/number-of-ways-to-stay-in-the-same-place-after-some-steps/) `Hard`
[1220. Count Vowels Permutation](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/count-vowels-permutation/) `Hard`
[[Distribute System Resources]]
[[Distributed systems for fun and profit|http://book.mixu.net/distsys/single-page.html]]
[[Distributed Transactions and Consensus]]
<<<
A distributed transaction is a database transaction in which two or more network hosts are involved.
Usually, hosts provide transactional resources, while the transaction manager is responsible for creating and managing a global transaction that encompasses all operations against such resources.
[[Management]]
除了把代码写完实现完,更重要的是把事情做好做对,如:
* 写inspector的时候,除了告警,还考虑呈现(Excel做好)
Docker is a set of platform as a service (PaaS) products that uses [[OS-level virtualization]] to deliver software in packages called containers.
[[Docker Storage Driver(graph driver)]]
[[Use the BTRFS storage driver|https://docs.docker.com/storage/storagedriver/btrfs-driver/#how-the-btrfs-storage-driver-works]]
<<<.big-quote
Docker’s btrfs storage driver leverages many Btrfs features for image and container management. Among these features are block-level operations, thin provisioning, copy-on-write snapshots, and ease of administration. You can easily combine multiple physical block devices into a single Btrfs filesystem.
<<<
[img[https://docs.docker.com/storage/storagedriver/images/btfs_container_layer.jpg]]
#The image’s base layer is stored in a Btrfs subvolume under `/var/lib/docker/btrfs/subvolumes`.
#Subsequent image layers are stored as a Btrfs snapshot of the parent layer’s subvolume or snapshot, but with the changes introduced by this layer. These differences are stored at the block level.
#The container’s writable layer is a Btrfs snapshot of the final image layer, with the differences introduced by the running container. These differences are stored at the block level.
[[Docker]]
<div class="box">
> --cluster-store string URL of the distributed storage backend
docker daemon 需要开启 cluster-store, 这个选项会通过 etcd 将我们在其上面配置的 SDN 信息共享到其他的 node,如果你有使用 SDN 的话,一定不要忘记配置它
</div>
[[Docker]]
# `ulimit -c` support
# [[ Update /proc/sys/kernel/core_pattern| https://stackoverflow.com/questions/39136601/changing-proc-sys-kernel-core-pattern-file-inside-docker-container]]
!! Background
容器复用宿主机的/proc
!! Support
* SRE change host's `core_pattern`
* container privileged mode to change core_pattern
* image file change core_pattern
!! Generate Coredump
```C
#include <signal.h>
int main(){
raise (SIGABRT);
return 0;
}
```
!! Test
```bash
docker run --name devtest -v /core/cid:/core nginx:latest
port=16288
sysctl -w kernel.core_pattern="/home/nonroot/core.%e.%p.%t"
cat /proc/sys/kernel/core_pattern
ps aux # |grep "$port" |grep -v grep |awk '{print $2}' |xargs -I{} kill -SIGSEGV {}
docker ps |grep "$port"
```
!! Issues
!!! Needs `--privileged` to modify core_pattern.
```
/data # sysctl -w kernel.core_pattern="/tmp/core.%e.%p"
sysctl: error setting key 'kernel.core_pattern': Read-only file system
```
[[Docker]]
core 会先打包成tar,再copy
```golang
func (e *Engine) VirtualizationCopyTo(ctx context.Context, ID, target string, content io.Reader, AllowOverwriteDirWithFile, CopyUIDGID bool) error {
return withTarfileDump(target, content, func(target, tarfile string) error {
content, err := os.Open(tarfile)
if err != nil {
return err
}
return e.client.CopyToContainer(ctx, ID, filepath.Dir(target), content, dockertypes.CopyToContainerOptions{AllowOverwriteDirWithFile: AllowOverwriteDirWithFile, CopyUIDGID: CopyUIDGID})
})
}
```
[[Docker]]
`sudo journalctl -fu docker.service`
[[Docker]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Docker Issues' sort[ind]>>
</div>
[[Strace]]
!! 现象
# 容器内`cat /proc/{pid}/fd/1` 有输出
# `journalctl -fu docker.service`l 看docker daemon的输出,发现有这个容器的log。就看看容器配置是不是转发log到journal了
# 我就再strace 一下,看看journal log文件存哪,`open("/run/log/journal/xxx/system@xxxx-0000000000000000-0000000000000000.journal", O_RDONLY|O_CLOEXEC) = 5
`发现是`/var/run`
# ` df -h /var/run` 发现满了
[[Docker]]
# Docker网络模型
#### Network drivers
* `bridge`: 默认network驱动。桥接网络用在隔离的容器的沟通上。
* The default network driver. If you don’t specify a driver, this is the type of network you are creating. **Bridge networks are usually used when your applications run in standalone containers that need to communicate.**
* `host`: 直接使用host的网络,移除容器与docker host的网络隔离。只能用在swarm上。
* For standalone containers, remove network isolation between the container and the Docker host, and use the host’s networking directly. `host` is only available for swarm services on Docker 17.06 and higher.
* `overlay`: Overlay networks connect **multiple Docker daemons together and enable swarm services to communicate with each other. **
* You can also use overlay networks to facilitate communication between a swarm service and a standalone container, or between two standalone containers on different Docker daemons. This strategy removes the need to do OS-level routing between these containers.
* `macvlan`: Macvlan networks allow you to **assign a MAC address to a container**, making it appear as a physical device on your network.
* `none`: For this container, **disable all networking.**
[[Docker Issues]]
systemd docker log:
<<<
systemd[1]: Stopped Docker Application Container Engine.
systemd[1]: Dependency failed for Docker Application Container Engine.
systemd[1]: docker.service: Job docker.service/start failed with result 'dependency'.
<<<
docker.socket log:
<<<
systemd[1]: docker.socket: Unit entered failed state.
systemd[1]: docker.socket: Failed to listen on sockets: Address already in use
systemd[1]: Failed to listen on Docker Socket for the API.
<<<
turns out that `docker.sock` becomes a dir:
```
# ls -dalh /var/run/docker.sock/
drwxr-xr-x 2 root root 40 Jan 22 15:17 /var/run/docker.sock/
```
!! Reason
calico will mount `/var/run/docker.sock`:
```bash
docker inspect calico-node | grep -A 15 -i mounts
"Mounts": [
{
"Type": "bind",
"Source": "/var/run/docker.sock",
"Destination": "/var/run/docker.sock",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
},
```
[[docker will create a dir when mount 's target not exists|https://github.com/moby/moby/issues/30348]]
[[Docker]]
[[Storage Drivers in Docker: A Deep Dive|https://integratedcode.us/2016/08/30/storage-drivers-in-docker-a-deep-dive/]]
> Given the “image graph” of layer content represents the relationships between various layers, the driver to handle these layers is called a “graphdriver.”
[[Docker Issues]]
!!! confirm
# Inside container, cd to the volume will show `sh: getcwd: No such file or directory`
# `docker inspect {containerID} | grep -A 5 Mounts` can check the volume Name
# `docker volume ls` or `ls /var/lib/docker/volumes/` can list all volumes docker recorded
#* if the volume of the container actually lost, `docker volume create {Name of Volumn}`, restart the container
[[Docker]]
## 现象
A, B,C三台机器,两台`docker network ls` 没有calico 的driver, 一台有,导致无法成功创建指定network的容器。
## 原因
1. docker 可能版本过低,只能使用etcd v2版本API
2. 机器的etcd版本 > `3.4`, `3.4`有以下修改,就是默认关掉v2的支持;
* Make etcd --enable-v2=false default.
* Make embed.DefaultEnableV2 false default.
3. 于是docker 没法通过etcd获取其他使用`docker network create --driver calico --ipam-driver calico-ipam --subnet ${NETPOOL} ${NETNAME}`创建好的driver的配置
## 解决办法
设置`etcd --enable-v2=true`, 重启etcd即可。
[[Speech]]
[[Joe Armstrong 面对面|https://zhuanlan.zhihu.com/p/34759478]]
John Hughes(haskell 的发明人之一)在谈起 haskell 时总会说:think type first。而我会说:think concurrency first。这是这两门语言的本质不同。我并不关心 type system —— programming is not about code, it’s about understanding。良好的类型设计反映了设计者对所设计系统的理解,然而 type system 并不能帮助你更好地理解你所设计的系统。在一个对所处理的问题理解错误的情况下,一个人可以写出正常编译通过的代码,并且这代码是可以测试通过的 —— 因为作者对 problem 理解是错误的,因而他写出的 test case 也是错误的。一切都如此漂亮,可是软件却并未解决问题。
所以纠结 type system,寄希望于 type system 让你不犯错误(或者让工程团队不犯错误),这是在寻找银弹。
think concurrency first。我们的世界本来就是并发/并行的。OOP 试图用一种错误的方式来描绘世界,因而得到的是复杂且不好理解的系统。比如一个电梯调度系统 —— 三部电梯停在各自的楼层,等待指令来决定如何运行。你如果试图用 OOP 描述电梯,为其设置属性,提供方法,其实是把问题复杂化了。三部电梯就是三个独立的 process,有他们自己的 state(所停楼层),它们把 state 通过 message 传递给调度系统,调度系统根据用户输入的 message,给最合适的 process 发消息,然后 process 决定自己如何行动。如果你 think concurrency first,那么,你对问题首先更容易理解,也更容易建模。
[[ELF(Executable and Linking Format)]]
<<<.tc-big-quote
[[Objdump]] is based on libbfd, which abstracts away many complexities of ELF, and was written when objects tended to only have three sections.
As such, objdump is quite deficient. In addition to not showing you (some) existing sections, it may also "synthesize" sections that don't exist at all, and do other weird tricks. This is more of a libbfd fault -- its abstraction layer si
<<<
[[Why does objdump not show .bss, .shstratab, .symtab and .strtab sections?|https://stackoverflow.com/questions/22160621/why-does-objdump-not-show-bss-shstratab-symtab-and-strtab-sections]]
[[readelf vs. objdump: why are both needed|https://stackoverflow.com/questions/8979664/readelf-vs-objdump-why-are-both-needed]]
[[DP questions category]]
### Statement,问题描述
> Given two strings `s1` and `s2`, return `some result`.
### Approach,解决方法
> Most of the problems on this pattern requires a solution that can be accepted in O(n^2) complexity.
```text
// i - indexing string s1
// j - indexing string s2
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
if (s1[i-1] == s2[j-1]) {
dp[i][j] = /*code*/;
} else {
dp[i][j] = /*code*/;
}
}
}
```
> If you are given one string `s` the approach may little vary
```text
for (int l = 1; l < n; ++l) {
for (int i = 0; i < n-l; ++i) {
int j = i + l;
if (s[i] == s[j]) {
dp[i][j] = /*code*/;
} else {
dp[i][j] = /*code*/;
}
}
}
```
[1143. Longest Common Subsequence](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/longest-common-subsequence/) `Medium`
```text
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
if (text1[i-1] == text2[j-1]) {
dp[i][j] = dp[i-1][j-1] + 1;
} else {
dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
}
}
}
```
[647. Palindromic Substrings](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/palindromic-substrings/) `Medium`
```text
for (int l = 1; l < n; ++l) {
for (int i = 0; i < n-l; ++i) {
int j = i + l;
if (s[i] == s[j] && dp[i+1][j-1] == j-i-1) {
dp[i][j] = dp[i+1][j-1] + 2;
} else {
dp[i][j] = 0;
}
}
}
```
[516. Longest Palindromic Subsequence](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/longest-palindromic-subsequence/) `Medium`
[1092. Shortest Common Supersequence](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/shortest-common-supersequence/) `Medium`
[72. Edit Distance](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/edit-distance/) `Hard`
[115. Distinct Subsequences](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/distinct-subsequences/) `Hard`
[712. Minimum ASCII Delete Sum for Two Strings](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-ascii-delete-sum-for-two-strings/) `Medium`
[5. Longest Palindromic Substring](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/longest-palindromic-substring/) `Medium`
[[Dynamic Programing(DP)]]
[[Formal verification]]
Techniques based on dynamic
analysis inspect single executions of the system under scrutiny, and are thus incomplete
(yield false negatives).
[[Linker (computing)]]
Many operating system environments allow dynamic linking, deferring the resolution of some undefined symbols until a program is run. That means that the executable code still contains undefined symbols, plus a list of objects or libraries that will provide definitions for these. Loading the program will load these objects/libraries as well, and perform a final linking.
[[Symbol table]]
The dynsym is a smaller version of the symtab that only contains global symbols. The information found in the dynsym is therefore also found in the symtab, while the reverse is not necessarily true.
[[ELF(Executable and Linking Format)]]
.section指示把代码划分成若干个段(Section), 程序被操作系统加载执行时, 每个段被加载到不同的地址, 具有不同的读、写、执行权限。 .data段保存程序的数据, 是可读可写的, C程序的全局变量也属于.data段. 本程序中没有定义数据, 所以.data段是空的
!! Build
When a linker builds an ELF file, it gathers all of the [[Allocable ELF section]] together in one part of the file, and all of the [[Non-allocable ELF sections]] are placed elsewhere.
When the operating system loads the resulting file, only the allocable part is mapped into memory.
The non-allocable part remains in the file, but is not visible in memory.
strip(1) can be used to remove certain non-allocable sections from a file. This reduces file size by throwing away information.
The program is still runnable, but debuggers may be hampered in their ability to tell you what the program is doing.
!! Other
> The full symbol table contains a large amount of data needed to link or debug our files, but not needed at runtime. In fact, in the days before sharable libraries and dynamic linking, none of it was needed at runtime. There was a single, non-allocable symbol table (reasonably named "symtab"). When dynamic linking was added to the system, the original designers faced a choice: Make the symtab allocable, or provide a second smaller allocable copy. The symbols needed at runtime are a small subset of the total, so a second symbol table saves virtual memory in the running process. This is an important consideration. Hence, a second symbol table was invented for dynamic linking, and consequently named "dynsym".
[[Complie]]
ELF(Executable and Linking Format)是一个开放标准, 各种UNIX系统的可执行文件都采用ELF格式, 它有四种不同的类型:
*可重定位的目标文件(Relocatable, 或者Object File), Linux的.o, Windows的.obj
*可执行文件(Executable), Linux的.out, Windows的.exe
*共享库(Shared Object, 或者Shared Library), Linux的.so, Windows的.DLL
*核心转储文件(Core Dump File)a, Linux下的core dump
[[Programming language]]
https://www.zhihu.com/question/321011169/answer/658027406
[[Elixir improvement]]
https://llvm.org/devmtg/2014-04/PDFs/Talks/drejhammar.pdf
[[Elixir Map]]
> Maps can be created with the %{} syntax, and key-value pairs can be expressed as key => value
```elixir
%{"hello" => "world", a: 1, b: 2}
%{:a => 1, :b => 2, "hello" => "world"}
```
Note that only atom can use `:`, which'll translate to `=>`.
[[Elixir best practice]]
The reason elixir use `body_params: %{"email" => "user@email.com", "name" => "username", "password" => "userPWD"}` in http request is because elixir's atom is limited, use string as key can avoid atom attack.
An environment variable is a dynamic-named value that can affect the way running [[Process]] will behave on a computer. They are part of the environment in which a process runs.
命令行参数argv类似,环境变量表也是一组字符串,如下图所示:
[img[http://akaedu.github.io/book/images/process.environ.png]]
!! 例子
libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时要用extern声明。例如:
```
#include <stdio.h>
int main(void)
{
extern char **environ;
int i;
for(i=0; environ[i]!=NULL; i++)
printf("%s\n", environ[i]);
return 0;
}
```
执行结果为
```
$ ./a.out
SSH_AGENT_PID=5717
SHELL=/bin/bash
DESKTOP_STARTUP_ID=
TERM=xterm
```
由于父进程在调用[[fork]]创建子进程时会把自己的环境变量表也复制给子进程,所以a.out打印的环境变量和Shell进程的环境变量是相同的。
!! 重要的值
<div class="box">
"""
PATH
可执行文件的搜索路径。ls命令也是一个程序,执行它不需要提供完整的路径名/bin/ls,然而通常我们执行当前目录下的程序a.out却需要提供完整的路径名./a.out,这是因为PATH环境变量的值里面包含了ls命令所在的目录/bin,却不包含a.out所在的目录。PATH环境变量的值可以包含多个目录,用:号隔开。在Shell中用echo命令可以查看这个环境变量的值:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LANG
语言和locale,决定了字符编码以及时间、货币等信息的显示格式。
"""
</div>
[[Elixir]]
* https://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-engineers/
* https://blog.discord.com/scaling-elixir-f9b8e1e7c29b
* https://www.rabbitmq.com/resources/erlang-exchange-talk-final/ex.html
[[OS-level virtualization]]
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time.
[[Eru]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Eru Agent' sort[ind]>>
</div>
[[Eru Agent]]
# 需要提供hostname,通过hostname去core的store里拿cli配置好的node
# Load
##调用docker获取所有活着的容器网络、cpu信息,轮询网络,调用core存储
##* host模型,使用localhost做健康检查,拿node初始设定作为ip
##* 其他网络模型,使用docker返回的容器网络信息里的ip
# go run Monitor docker容器事件(stop,start)
#* Start: 健康则后去容器信息,调core
#* Die:获取container信息,更新状态
# go run healthCheck
# activated:通过core设置node Available 为true
这是docker host模型的容器网络配置
```bash
"Networks": {
"host": {
"IPAMConfig": {},
"Links": null,
"Aliases": null,
"NetworkID": "ce1c05b2fff35e51134676f7f04107af62ea3e28e1e3143aa9df118847480a89",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
}
}
```
这是calico-pool的网络模型
```bash
"NetworkSettings": {
"Bridge": "",
"SandboxID": "e079445396709509c0c6096bbc1b3acd432be2b2839128c9a98bad818400645f",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/e07944539670",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"testpool": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"7c3ba85e4bdc"
],
"NetworkID": "a6e011cd163da2e9f79498363b38499d0557798ec51c043bdcfd3ca218909089",
"EndpointID": "fe0172ce37c698fab038d961e096713d95a16655eadd03e51efb9038e16ecef0",
"Gateway": "169.254.1.1",
"IPAddress": "10.213.20.136",
"IPPrefixLen": 32,
"IPv6Gateway": "fe80::c03f:68ff:fed8:e3e4",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
}
}
```
[[Eru]]
Eru拷贝文件到容器时,会偶发失败,文件在,但内容为空。
[[修复加锁的MR|https://github.com/projecteru2/core/pull/219/files]]
[[粒度更小的锁,每个文件一个锁|https://github.com/projecteru2/core/pull/220/files]]
[[Eru]]
## Is docker open TLS?
Check docker 's config (default : `/etc/docker/daemon.json)`)
````bash
# cat /etc/docker/daemon.json | grep tls
"tlsverify": true,
"tlscacert": "/etc/docker/tls/ca.crt",
"tlscert": "/etc/docker/tls/server.crt",
"tlskey": "/etc/docker/tls/server.key",
````
`
This means docker had opened TLS.
## Is core open TLS?
Chekc core outside 's config '`grep 'cert_path' /etc/eru/core.yaml` setting or not.
If set, it had opened TLS.
### How this works?
It will read etcd 's data `/eru/node/$(nodename):cert`' and `/eru/node/$(nodename):ca`, and loads them to a file.
So it not provide the `cert_path` config, which is empty, it will not use TLS even you had set the etcd data.
[[Eru]]
<div class="box">
* true:在挑选node时,会根据容器的`cpu quote`,选出核以及虚拟核资源,之后cgroup设定绑定具体核。最后代码体现在创建容器时的配置
`--cpuset-cpus="" CPUs in which to allow execution (0-3, 0,1)`
* false:不绑物理核,分配时几乎不考虑CPU;只在cgroup里做限制
`nodesInfo, total, err = c.scheduler.SelectMemoryNodes(nodesInfo, opts.CPUQuota, opts.Memory)`
</div>
[[Eru]]
eru 可以先创建一个容器(如sleep 1000s),先得到IP:
* ETCD集群需要先有再配置
同时还有锁住此IP的作用:
```
func (e *Engine) makeIPV4EndpointSetting(ipv4 string) (*dockernetwork.EndpointSettings, error) {
config := &dockernetwork.EndpointSettings{
IPAMConfig: &dockernetwork.EndpointIPAMConfig{},
}
// set specified IP
// but if IP is empty, just ignore
if ipv4 != "" {
ip := net.ParseIP(ipv4)
if ip == nil {
return nil, coretypes.NewDetailedErr(coretypes.ErrBadIPAddress, ipv4)
}
config.IPAMConfig.IPv4Address = ip.String()
}
return config, nil
}
```
会设置容器的networking:
```json
"Networks": {
"cloud-live-sg4": {
"IPAMConfig": {
"IPv4Address": "10.147.188.131"
},
"Links": null,
"Aliases": [
"39556d7601b4"
],
"NetworkID": "654317ee5171fde8e1babc9cf398b6a5955a496d1a8b1ea6db324dea4da98713",
"EndpointID": "32105702a23aa27f7d973328d16f44ce542e124ea2c3eba7e1d39a39be347ef1",
"Gateway": "169.254.1.1",
"IPAddress": "10.147.188.131",
}
}
```
设置`IPAMConfig` 后,docker会分配此IP给容器。
<<<
先创建一个 Fake 容器,docker会分配一个IP A给此Fake容器,再将其销毁——docker便将此IP放到IP池队列尾。
此后再创建一个目标容器,指定使用IP A即可。
潜在风险: 当IP队列池不够时,并发创建的其他容器会占用此IP。
<<<
[[Eru]] 创建容器的步骤:
# 获取pod,计算资源信息
# 先 https://godoc.org/github.com/docker/docker/client#Client.ContainerCreate
# 再拷文件进去 https://godoc.org/github.com/docker/docker/client#Client.CopyToContainer
# 再启动容器 https://godoc.org/github.com/docker/docker/client#Client.ContainerStart
# inspect 获取容器信息 https://godoc.org/github.com/docker/docker/client#Client.ContainerInspect
# 更新node资源信息
[[Eru]]
创建一个处于docker daemon以及core中间的proxy,处理fixed ip。
* For container requires fixed ip, mark them on container metadata
**With docker, it could be done by docker container label
***Eg. docker container create –label fixed-ip …
*Develop calico plugin for docker
**On container leaves network, not returning ip address to calico ip pool, but reserve it temporary
**On container enters network, check if the ip it requires is reserved, and give the reserved ip to it, otherwise allocate the ip from calico ip pool
[[Eru Agent]]
* Node只会在agent启动时读取core里的配置
* Node初始设置时,用了127.0.0.1,后来改回去,agent没做修改的
结果发现是设置问题,读了127.0.0.1 的node
[[Eru]]
Eru 部署的容器使用三段式命名: `appname-entrypoint-ident`, 用来与其他容器区分
现在[[Eru]]超售是通关修改node配置的`initCPU` 与 `initMemory`来实现的,如memory,机器是16G,设置为32G即可分配更多的容器。
对于CPU,Eru是通过内置的概念CPU份数来算的,就是设置一个CPU核可以容纳多少份数的CPU,默认设置为100;
如:`0:1000,1:400`,代表0号核可以容纳1000份,1号核可以容纳400份,部署一个4核cpu的容器,就要需要 4*100(默认CPU份数) = 400份的CPU。
所以不管怎么样超售,CPU核数都会是固定的。
Eru还有动态分配的概念,就是`CPUBind`——没有设置为true,就会动态分配;就是指实际分配 CPU时,不会去使用设置了的 CPU 份数,只是简单的 +1。
* cpuUsed: 节点用了多少核的cpu
* cpuMap:每个CPU核上有多少份CPU,默认设置100份
* CPUBind:没有设置为true,就会动态分配;就是指实际分配 CPU时,不会去使用设置了的 CPU 份数,只是简单的 +1
像昆仑,就是没有CPUBind,只是会简单的加一,所以total for sale会跟机器total available的CPU数量是一样的
!! 坑
不能设置超过CPU核数的资源- -
[[Eru]] 自身实现了 4 类分布算法,在 Cli 命令中默认是 auto 模式:
! cpu-bind
```golang
if !opts.CPUBind || opts.CPUQuota == 0 {
nodesInfo, total, err = c.scheduler.SelectMemoryNodes(nodesInfo, opts.CPUQuota, opts.Memory) // 还是以 Bytes 作单位, 不转换了
} else {
log.Info("[doAllocResource] CPU Bind, selecting CPU plan")
nodesInfo, nodeCPUPlans, total, err = c.scheduler.SelectCPUNodes(nodesInfo, opts.CPUQuota, opts.Memory)
}
```
! 算法
<div class="box">
! 自动平均算法(auto 模式)
所有node根据容器数量排序
<<<
在现有容器/虚拟机部署情况下依次遍历各个 Node,然后逐台补齐,直到所补容器/虚拟机数量等同于用户所需总数为止
比如现有的部署方案是 A:3 B:1 C:5 D:4,排序后得到 B:1 A:3 D:4 C:5,资源池有 A:10 B:13 C:7 D:2。
第一轮 A-B=2 B+2 部署情况变为 B:3 A:3 D:4 C:5
第二轮 D-A=1 B+1 A+1 部署情况变为 B:4 A:4 D:4 C:5
第三轮 C-D=1 B+1 A+1 D+1 部署情况变为 B:5 A:5 D:5 C:5
第四轮 B+1 A+1 D+1 C+1 部署情况变为 B:6 A:6 D:6 C:6
第五轮因为 D 机已经没资源,分布算法只考虑 ABC 平均,直到满足用户需求。
<<<
!! 填充算法(fill 模式)
给每个节点填上对应容器的数量——不够补,多了忽略
可以设置node limit 为1,限制每台node只有一台,node按照资源利用率排序。
!! 全局平均(global 模式)
根据机器实际分配出去的资源量得到机器当前的资源剩余量,由多到少排列,然后进行分布。这种方式主要用于部署容器/虚拟机太少,机器资源过多的情况,从而实现全局上的资源平均。
!! 每台机器均等部署算法(each 模式)
Core 得到 Nodes 部署方案后,会把计算每个 Node 的可部署量是否满足需求 N,筛选出满足的 Nodes 最后在这些 Nodes 上部署 N 个容器/虚拟机。
</div>
[[Finance]]
An estate, in common law, is the net worth of a person at any point in time alive or dead. It is the sum of a person's assets – legal rights, interests and entitlements to property of any kind – less all liabilities at that time
[[Step 1: Constraints and use cases]]
!! Mysql 数据大小
* INT,FLOAT:4字节
* TIMESTAMP: 4bytes
* CHAR(N)用来保存固定长度的字符串
* VARCHAR(N)用来保存变长字符类型
!! 换算
* 1KB = 1000 Bytes
* 1 Byte = 8 bits = 2^8状态数
!! 单机吞吐量上限
* Web 服务器的 QPS:1000
* RDB 单机 QPS:1000
* NoSQL DB 磁盘单机 QPS:10K
* 内存访问单机 QPS:1M
<div class="tc-table-of-contents">
<<toc-selective-expandable 'etcd' sort[ind]>>
</div>
etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines.
[[etcd]]
* Show cluster status: `ETCDCTL_API=3 etcdctl endpoint status --cluster -w table`
[[etcd]]
!! get current [[etcd revision]] id
```bash
qaETCD="10.143.204.30:2379"
export ETCDCTL_API=3
ETCDCTL_API=3 etcdctl --endpoints="$qaETCD" endpoint status --write-out="json" | jq
[
{
"Endpoint": "i:2379",
"Status": {
"header": {
"cluster_id": 14841639068965180000,
"member_id": 10276657743932975000,
"revision": 8829372,
"raft_term": 13
},
"version": "3.3.18",
"dbSize": 568483840,
"leader": 10276657743932975000,
"raftIndex": 139276905,
"raftTerm": 13
}
}
]
```
!! Example
```bash
#!/usr/bin/env bash
# set -o noexec
# set -o verbose
# set -o xtrace
set -o nounset
set -o errexit
qaETCD="10.143.204.30:2379"
export ETCDCTL_API=3
etcdctl --endpoints="$qaETCD" put /testkey "value1"
etcdctl --endpoints="$qaETCD" put /testkey "value2"
etcdctl --endpoints="$qaETCD" put /testkey "value3"
etcdctl --endpoints="$qaETCD" put /testkey "value4"
etcdctl --endpoints="$qaETCD" put /testkey "value5"
currentRev=$(etcdctl --endpoints="$qaETCD" endpoint status --write-out="json" | grep -E -o '"revision":[0-9]*' | grep -E -o '[0-9].*')
echo "current Revision is $currentRev"
startrev="select your start rev"
startrev=$((currentRev-6))
echo "range start Revision is $startrev"
for ((loopRev=startrev;loopRev<=currentRev;loopRev++))
do
etcdctl --endpoints="$qaETCD" get --rev="$loopRev" /testkey
echo -e "rev is $loopRev \n"
done
```
[[etcd distributed lock]]
isowner内部是靠一个create revision值判断的。这个值是在请求etcd产生修改时生成的值,会记录在内存里。
isowner会去看这个内存中mutex的create revision是否跟etcd里/zero-redis/overwatch_HA_lock/这个key里的一致
[[etcd]]
## 流程
1. 各客户端准备
1. 建立连接,包含租约,其中NewSession时会启动keeplive协程,不断续约
2. 创建唯一key,规则为使用 leaseId 进行key拼接
2. 执行Lock操作
1. 各客户端 put 各自的唯一 key
2. 各自获得响应的 Reversion
3. 传参的context可控制时间,防止无限等待
3. 各客户端判断是否获得锁
1. 根据前缀获取 key 列表,如果自己获得的 Reversion 是列表中最小的,则认定自己获得了锁[if no key on prefix / the minimum rev is key, already hold the lock
]
4. 执行后续逻辑
1. 获得锁的执行业务
2. 未获得锁的客户端等待获得锁后执行业务
1. 根据自己的[Reversion-1]作为 MaxCreateReversion,监听(Watch)比自己小且最近的key的删除事件,一旦监听到则判定自己获得了锁,再执行后续逻辑
5. 释放锁
1. Delete
[[etcd]]
[[etcd provides stable, sustained high performance. Two factors define performance: latency and throughput.|https://etcd.io/docs/v3.4.0/op-guide/performance/]]
etcd uses the Raft consensus algorithm to replicate requests among members and reach agreement.
Consensus performance, especially commit latency, is limited by two physical constraints
* network IO latency
* disk IO latency.
The minimum time to finish an etcd request is the network Round Trip Time (RTT) between members, plus the time fdatasync requires to commit the data to permanent storage
[[etcd]]
Quote from
* [[Etcd存储的实现|https://www.codedump.info/post/20181125-etcd-server/]]
* [[MVCC 在 etcd 中的实现|https://blog.betacat.io/post/mvcc-implementation-in-etcd/]]
!! Start
*etcd server:对外接收客户端的请求,对应etcd代码中的etcdserver目录,其中还有一个raft.go的模块与etcd-raft库进行通信。etcdserver中与存储相关的模块是applierV3,这里封装了V3版本的数据存储,WAL(write ahead log),用于写数据日志,etcd启动时会根据这部分内容进行恢复。
*etcd raft:etcd的raft库,前面的文章已经具体分析过这部分代码。除了与本节点的etcd server通信之外,还与集群中的其他etcd server进行交互做一致性数据同步的工作(在图中集群中其他etcd服务用橙色的椭圆表示)。
[img[https://pic1.zhimg.com/80/v2-2b0a7bb87fb34da2b74d260b3eba9619_1440w.jpg]]
!! 流程
在上图中,一个请求与一个etcd集群交互的主要流程分为两大部分:
写数据到某个etcd server中。
该etcd server与集群中的其他etcd节点进行交互,当确保数据已经被存储之后应答客户端。
请求流程划分为了以下的子步骤:
*1.1:etcd server收到客户端请求。
* 1.2:etcd server将请求(`Propose Message`)发送给本模块中的raft.go,这里负责与etcd raft模块进行通信。
* 1.3:raft.go将数据封装成raft日志的形式提交给raft模块。
* 1.4:raft模块会首先保存到raftLog的unstable存储部分。
* 1.5:raft模块通过raft协议与集群中其他etcd节点进行交互。
注意在以上流程中,假设这里写入数据的etcd是leader节点,因为在raft协议中,如果提交数据到非leader节点的话需要路由到etcd leader节点去。
而应答步骤如下:
*2.1:集群中其他节点向leader节点应答接收这条日志数据。
* 2.2:当超过集群半数以上节点应答接收这条日志数据时,etcd raft通过Ready结构体通知etcd server中的raft该日志数据已经commit。
* 2.3:raft.go收到Ready数据将首先将这条日志写入到WAL模块中。
* 2.4:通知最上层的etcd server该日志已经commit。
* 2.5:etcd server调用applierV3模块将日志写入持久化存储中。
* 2.6:etcd server应答客户端该数据写入成功。
* 2.7:最后etcd server调用etcd raft,修改其raftLog模块的数据,将这条日志写入到raftLog的storage中。
从上面的流程可以看到
etcd raft模块在应答某条日志数据已经commit之后,是首先写入到WAL模块中的,因为这个模块只是添加一条日志,所以速度会很快,即使在后面applierV3写入失败,重启的时候也可以根据WAL模块中的日志数据进行恢复。
etcd raft中的raftLog,按照前面文章的分析,其中的数据是保存到内存中的,重启即失效,上层应用真实的数据是持久化保存到WAL和applierV3中的。
[[etcd common scripts]]
```bash
export ETCDCTL_API=3
rev=""
ip=""
while read key
do
echo "key is $key"
data=`etcdctl --endpoints="$ip:2379" --rev="$rev" get "$key" --print-value-only`
echo "dat is $data"
etcdctl --endpoints="$ip:2379" put "$key" "$data"
done < <(ETCDCTL_API=3 etcdctl --endpoints=$ip:2379 --rev="$rev" get /zero-redis --prefix --keys-only | grep -v '^$')
```
[[etcd]]
A 64-bit cluster-wide counter that starts at 1 and is incremented each time the keyspace is modified.
[auth token invalid after watch reconnects](https://github.com/etcd-io/etcd/issues/11954)
[[Linux Performance Tools]]
`ethtool eth0` can get speed:
```bash
$ ethtool bond0
Settings for bond0:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 20000Mb/s
Duplex: Full
Port: Other
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Cannot get wake-on-lan settings: Operation not permitted
Link detected: yes
```
[[Golang Parameters]]
<<<.tc-big-quote
As in all languages in the C family, everything in Go is passed by value. That is, a function always gets a copy of the thing being passed, as if there were an assignment statement assigning the value to the parameter.
<<<
传指针到函数里,也是会有一份拷贝。
<div class="box">
> The exec() family of functions replaces the current [[Process]] image with a new process image.
用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。
</div>
调用exec后,原来打开的文件描述符仍然是打开的。利用这一点可以实现[[File&IO]]重定向。
[[Secure Shell (SSH)]]
!! Use [[Bash Here Documents]]
```bash
ssh i <<"EOF"
docker ps | grep redis | awk '{print $1}'
EOF
```
Note the here-doc delimiter 'EOF' is quoted;
this causes the input to be passed without any change to the remote, which executes it. It can actually be any string that isn't in the input;
!! pass file to bash
```bash
ssh i bash < <(cat <<'EOF'
docker ps | grep redis | awk '{print $1}'
EOF)
```
[[Bash]]
| Exit Code Number | Meaning | Example | Comments |
| `1` | Catchall for general errors | let "var1 = 1/0" | Miscellaneous errors, such as "divide by zero" and other impermissible operations |
| `2` | Misuse of shell builtins (according to Bash documentation) | empty_function() {} | [Missing keyword](https://tldp.org/LDP/abs/html/debugging.html#MISSINGKEYWORD) or command, or permission problem (and [*diff* return code on a failed binary file comparison](https://tldp.org/LDP/abs/html/filearchiv.html#DIFFERR2)). |
| `126` | Command invoked cannot execute | /dev/null | Permission problem or command is not an executable |
| `127` | "command not found" | illegal_command | Possible problem with `$PATH` or a typo |
| `128` | Invalid argument to [exit](https://tldp.org/LDP/abs/html/exit-status.html#EXITCOMMANDREF) | exit 3.14159 | **exit** takes only integer args in the range 0 - 255 (see first footnote) |
| `128+n` | Fatal error signal "n" | *kill -9* `$PPID` of script | `**$?**` returns 137 (128 + 9) |
| `130` | Script terminated by Control-C | *Ctl-C* | Control-C is fatal error signal 2, (130 = 128 + 2, see above) |
| `255*` | Exit status out of range | exit -1 | **exit** takes only integer args in the range 0 - 255 |
* `128+n`: Fatal error signal "n"
can use this to check a process exist caused, which call [[wait && waitpid]] actually.
[[Happiness]]
[[Happiness for Sale: Do Experiential Purchases Make Consumers Happier than Material Purchases |https://www.researchgate.net/publication/227630698_Happiness_for_Sale_Do_Experiential_Purchases_Make_Consumers_Happier_than_Materia]]
Experiences tend to produce both more (for positive purchases) and less (for negative purchases) happiness than do material purchases.
In addition, we mapped actual hedonic adaptation across time for material and experiential purchases, and we found that adaptation happens more quickly for material purchases
than for experiential purchases. Thus, it is not surprising that experiences end up inducing a wider variance of happiness.
For positive purchases, experiences lead to greater happiness than material purchases.
Also, there is a sense in which our results support the experience recommendation because we show that on average the most
happiness obtained through purchasing is likely to be obtained through experiential purchases that turn out well.
Our findings suggest that a lifetime of negative experiential purchases might lead to quite an unhappy life and furthermore that negative material purchases may not leave as much of a negative mark.
[[Linux File System]]
<div class="box">
"""
一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息。下图是一个磁盘分区格式化成ext2文件系统后的存储布局。
[img[https://akaedu.github.io/book/images/fs.ext2layout.png]]
"""
</div>
ext2文件系统将整个分区划成若干个同样大小的块组(Block Group),每个块组都由以下部分组成:
[[Linux Performance Tools]]
<<<.tc-big-quote
BPF can be difficult to explain precisely because it can do so much. It provides a way to run mini programs on a wide variety of kernel and application events. If you are familiar with JavaScript, you may see some similarities: JavaScript allows a website to run mini programs on browser events such as mouse clicks, enabling a wide variety of web-based applications. BPF allows the kernel to run mini programs on system and application events, such as disk I/O, thereby enabling new system technologies. It makes the kernel fully programmable, empowering users (including non-kernel developers) to customize and control their systems in order to solve real-world problems.
BPF is a flexible and efficient technology composed of an instruction set, storage objects, and helper functions. It can be considered a virtual machine due to its virtual instruction set specification. These instructions are executed by a Linux kernel BPF runtime, which includes an interpreter and a JIT compiler for turning BPF instructions into native instructions for execution. BPF instructions must first pass through a verifier that checks for safety, ensuring that the BPF program will not crash or corrupt the kernel (it doesn’t, however, prevent the end user from writing illogical programs that may execute but not make sense).
<<<
[[systemd issues]]
If the swap file is in /home/, systemd-logind will not be able to determine its size and thus will prevent hibernation. See [[systemd issue 15354|https://github.com/systemd/systemd/issues/15354]] for a workaround.
[[procfs]]
!! Step by step
# `lsof +L1` 或者 `lsof | grep deleted` 找到被删掉,但还在引用的文件
# `ls -al /proc/{pid}/fd | grep delete` 找到删掉了,但还在引用的fd
# `> /proc/{pid}/fd` 即可free space
!! Example
```bash
# df -h /var/run
Filesystem Size Used Avail Use% Mounted on
tmpfs 13G 13G 14M 100% /run
# > /proc/22564/fd/998
# > /proc/22564/fd/997
# df -h /var/run
Filesystem Size Used Avail Use% Mounted on
tmpfs 13G 13G 30M 100% /run
```
[[File&IO]]
* The stream stderr is unbuffered.
* The stream stdout is line-buffered when it points to a terminal.
stdout跟stderr也就在 terminal输出时,stdout有line buffer就好,而且这个影响不大,所以好的做法就是stdout好了
[[All UNIX implementations I know have a line buffered stdin. On Linux, stdout in line buffered and stderr unbuffered|https://stackoverflow.com/questions/3723795/is-stdout-line-buffered-unbuffered-or-indeterminate-by-default]]
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'File&IO' sort[ind]>>
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Finance' sort[ind]>>
</div>
[[Finance]]
*[[工信部(工业和信息化部)政务公开:|https://www.miit.gov.cn/zwgk/index.html]]
*[[中国商务部|http://www.mofcom.gov.cn]]
[[Model of computation]]
It is an abstract machine that can be in exactly one of a finite number of states at any given time.
The FSM can change from one state to another in response to some inputs; the change from one state to another is called a transition.
An FSM is defined by a list of its states, its initial state, and the inputs that trigger each transition.
!! example
* vending machines, which dispense products when the proper combination of coins is deposited
* elevators, whose sequence of stops is determined by the floors requested by riders,
* traffic lights, which change sequence when cars are waiting, and combination locks, which require the input of a sequence of numbers in the proper order.
* State diagram for a turnstile
[img[https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Turnstile_state_machine_colored.svg/800px-Turnstile_state_machine_colored.svg.png?1609905566108]]
[[Process]]
The entirety of fork() is implemented using mmap / copy on write.
<div class="box">
"""
fork 给父进程返回子进程 pid,给其拷贝出来的子进程返回 0,这也是他的特点之一,一次调用,两次返回。
两次返回看上去有点神秘,实质是在子进程的栈中构造好数据后,子进程从栈中获取到的返回值。
fork 的实现分为以下两步
1. 复制进程资源
2. 执行该进程
复制进程的资源包括以下几步
1. 进程 [[PCB]]
2. 程序体,即代码段数据段等
3. 用户栈
4. 内核栈
5. 虚拟内存池
6. 页表
进行进程的话就比较简单了,只需要将其加入到就绪队列即可,接下来就等待 cpu 的调度了
"""
</div>
[[进程控制|http://akaedu.github.io/book/ch30s03.html]]
> 这个程序是在Shell下运行的,因此Shell进程是父进程的父进程。父进程运行时Shell进程处于等待状态(第 3.3 节 “wait和waitpid函数”会讲到这种等待是怎么实现的),当父进程终止时Shell进程认为命令执行结束了,于是打印Shell提示符,而事实上子进程这时还没结束,所以子进程的消息打印到了Shell提示符后面。最后光标停在This is the child的下一行,这时用户仍然可以敲命令,即使命令不是紧跟在提示符后面,Shell也能正确读取。
!! why fork return Child pid
<div class="box">
"""
子进程中fork的返回值是0,而父进程中fork的返回值则是子进程的id(从根本上说fork是从内核返回的,内核自有办法让父进程和子进程返回不同的值)
程和子进程执行不同的代码。
fork的返回值这样规定是有道理的。fork在子进程中返回0,子进程仍可以调用getpid函数得到自己的进程id,也可以调用getppid函数得到父进程的id。在父进程中用getpid可以得到自己的进程id,然而要想得到子进程的id,只有将fork的返回值记录下来,别无它法。
"""
</div>
!! fork's [[File&IO]]
fork的另一个特性是所有由父进程打开的描述符都被复制到子进程中。父、子进程中相同编号的文件描述符在内核中指向同一个file结构体,也就是说,file结构体的引用计数要增加。
用 [[GDB]] 调试多进程的程序会遇到困难,gdb只能跟踪一个进程(默认是跟踪父进程),而不能同时跟踪多个进程,但可以设置gdb在fork之后跟踪父进程还是子进程。以上面的程序为例:
set follow-fork-mode child命令设置gdb在fork之后跟踪子进程(set follow-fork-mode parent则是跟踪父进程)
!! 坑
On error, a child process is not created, fork() returns −1
<div class="box">
"""
fork() can fail: this is important
Ah, fork(). The way processes make more processes. Well, one of them, anyway. It seems I have another story to tell about it.
It can fail. Got that? Are you taking this seriously? You should. fork can fail. Just like malloc, it can fail. Neither of them fail often, but when they do, you can't just ignore it. You have to do something intelligent about it.
People seem to know that fork will return 0 if you're the child and some positive number if you're the parent -- that number is the child's pid. They sock this number away and then use it later.
Guess what happens when you don't test for failure? Yep, that's right, you probably treat "-1" (fork's error result) as a pid.
That's the beginning of the pain. The true pain comes later when it's time to send a signal. Maybe you want to shut down a child process.
Do you kill(pid, signal)? Maybe you do kill(pid, 9).
Do you know what happens when pid is -1? You really should. It's Important. Yes, with a capital I.
Here, I'll paste from the kill(2) man page on my Linux box.
If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1 (init), ...
See that? Killing "pid -1" is equivalent to massacring every other process you are permitted to signal. If you're root, that's probably everything. You live and init lives, but that's it. Everything else is gone gone gone.
Do you have code which manages processes? Have you ever found a machine totally dead except for the text console getty/login (which are respawned by init, naturally) and the process manager? Did you blame the oomkiller in the kernel?
It might not be the guilty party here. Go see if you killed -1.
Unix: just enough potholes and bear traps to keep an entire valley going.
"""
</div>
In mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Formal language' sort[ind]>>
</div>
[[Mathematical logic]]
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics
[[Designing partitions]]
Data is aggregated according to how it is used by each bounded context in the system.
For example, an e-commerce system might store invoice data in one partition and product inventory data in another.
[img[Functionally partitioning data by bounded context or subdomain.|https://docs.microsoft.com/en-us/azure/architecture/best-practices/images/data-partitioning/datapartitioning03.png]]
[[Programming language]]
In computer science, garbage collection (GC) is a form of automatic memory management.
[[Routing with Linux]]
<<<.tc-big-quote
Gateways forward traffic between different networks, like different subnets, or your local network and the Internet.
Another way to think of them is next hop routers.
The default gateway contains the default route out of your network. Any host that is allowed access outside of the local network needs a default gateway.
<<<
* Your [[local area network (LAN)]] is on 10.10.0.0/24
* You have a single shared Internet connection with a static [[wide area network (WAN)]] address of 208.201.239.36
* Your ISP has assigned you a default gateway of 208.201.239.1
You’ll need to configure two gateways: from your individual LAN hosts to your router, and then from your router to your ISP.
> ip route add default via 10.10.0.25
[img[https://learning.oreilly.com/library/view/linux-networking-cookbook/9780596102487/httpatomoreillycomsourceoreillyimages43198.png]]
But, these will not survive a reboot.Debian users have /etc/network/interfaces for permanent network configurations.
''Gateways cannot have addresses outside of their own networks.''
The example used in this recipe demonstrates this—the WAN interface, 208.201.239.36, is on the same network as the ISP, 208.201.239.1. The LAN gateway interface is on the LAN network.
[[Encoding]]
!! gbk,Unicode,UTF-8
鉴于珠玉在前,我就整理下
[[https://www.zhihu.com/question/23374078/answer/69732605 |Unicode 和 UTF-8 有什么区别]]的内容 ok 了:
简单来说:
* <code>Unicode</code> 是「字符集」
* <code>UTF-8</code> 是「编码规则」
* 字符集:为每一个「字符」分配一个唯一的 ID(学名为<code>码位 / 码点 / Code Point</code>)
* 编码规则:将「码位」转换为字节序列的规则(编码 / 解码 可以理解为 加密 / 解密 的过程)
详细过程:
* 中国人民通过对 <code>ASCII 编码</code>的中文扩充改造,产生了 <code>GB2312 编码</code>,可以表示 6000 多个常用汉字。
* 汉字实在是太多了,包括繁体和各种字符,于是产生了 <code>GBK 编码</code>,它包括了 <code>GB2312</code> 中的编码,同时扩充了很多。
* 中国是个多民族国家,各个民族几乎都有自己独立的语言系统,为了表示那些字符,继续把 <code>GBK 编码</code>扩充为 <code>GB18030 编码</code>。
* 每个国家都像中国一样,把自己的语言编码,于是出现了各种各样的编码,如果你不安装相应的编码,就无法解释相应编码想表达的内容。
* 终于,有个叫<code>ISO(国际标谁化组织)</code> 的组织看不下去了。他们一起创造了一种编码 <code>UNICODE(Universal Multiple-Octet Coded Character Set)</code>,这种编码非常大,大到可以容纳世界上任何一个文字和标志。所以只要电脑上有 <code>UNICODE</code> 这种编码系统,无论是全球哪种文字,只需要保存文件的时候,保存成 <code>UNICODE</code> 编码就可以被其他电脑正常解释。
* <code>unicode</code> 在很长一段时间内无法推广,直到互联网的出现,为解决 <code>unicode</code> 如何在网络上传输的问题,于是面向传输的众多<code>UTF(UCS Transfer Format)</code>标准出现了。<code>UNICODE</code> 在网络传输中,出现了两个标准 <code>UTF-8</code> 和 <code>UTF-16</code>,分别每次传输 <code>8</code> 个位和 <code>16</code> 个位。<code>UTF-8</code> 顾名思义,是一套以 8 位为一个编码单位的可变长编码。
* 于是就会有人产生疑问,<code>UTF-8</code> 既然能保存那么多文字、符号,为什么国内还有这么多使用 <code>GBK</code> 等编码的人?因为 <code>UTF-8</code> 等编码体积比较大,占电脑空间比较多,如果面向的使用人群绝大部分都是中国人,用 <code>GBK</code> 等编码也可以。
<blockquote>unicode 在很长一段时间内无法推广,直到互联网的出现,为解决 unicode 如何在网络上传输的问题,于是面向传输的众多 '''UTF'''(UCS Transfer Format)标准出现了,顾名思义,'''UTF-8''' 就是每次 8 个位传输数据,而 '''UTF-16''' 就是每次 16 个位。UTF-8 就是在互联网上使用最广的一种 unicode 的实现方式,这是为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有文化的字符了。UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用 1~4 个字节表示一个符号,根据不同的符号而变化字节长度,当字符在 ASCII 码的范围时,就用一个字节表示,保留了 ASCII 字符一个字节的编码做为它的一部分,注意的是 unicode 一个中文字符占 2 个字节,而 UTF-8 一个中文字符占 3 个字节)。从 unicode 到 utf-8 并不是直接的对应,而是要过一些算法和规则来转换。
</blockquote>
[[Linux Performance Tools]]
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages
<div class="box">
"""
GDB controls the program that we are debugging (the inferior) through a system call named [[ptrace]]
[[ptrace]]() can, for example, set the registers, peek and poke memory, continue or interrupt the inferior — all the good stuff we need for debugging.
"""
</div>
* The code may hit a breakpoint, which generates a [[SIGTRAP]]
<div class="box">
"""
-g Produce debugging information in the operating system's native
format (stabs, COFF, XCOFF, or DWARF 2). GDB can work with this
debugging information.
"""
</div>
有了-g后,ELF文件会多了以下的Section:
```
27 .debug_aranges 00000030 0000000000000000 0000000000000000 00001071 2**0
CONTENTS, READONLY, DEBUGGING
28 .debug_info 000000f0 0000000000000000 0000000000000000 000010a1 2**0
CONTENTS, READONLY, DEBUGGING
29 .debug_abbrev 0000009a 0000000000000000 0000000000000000 00001191 2**0
CONTENTS, READONLY, DEBUGGING
30 .debug_line 00000055 0000000000000000 0000000000000000 0000122b 2**0
CONTENTS, READONLY, DEBUGGING
31 .debug_str 000000e4 0000000000000000 0000000000000000 00001280 2**0
CONTENTS, READONLY, DEBUGGING
```
在[[GDB]] debug时,可以break 某一个行,看到所有的variables等。
> The debugger uses this information to read the section from the executable.
[[GDB]]
<div class="box">
One of the most basic things we want to do when debugging is placing breakpoints at some function, expecting the debugger to break right at its entrance.
To be able to perform this feat, the debugger must have some mapping between ''a function name in the high-level code ''and ''the address in the machine code where the instructions for this function begin''.
</div>
[[GDB]]
<div class="box">
"""
Suppose that we've indeed stopped at a breakpoint inside do_stuff.
We want to ask the debugger to show us the value of the my_local variable.
How does it know where to find it? Turns out this is much trickier than finding functions.
Variables can be located in global storage, on the stack, and even in registers. Additionally, variables with the same name can have different values in different lexical scopes. The debugging information has to be able to reflect all these variations, and indeed DWARF does.
"""
</div>
[[coredump]]
!! send signal
```bash
slee 60&
killall -SIGSEGV sleep
```
[[Array]]
Given an array arr of unique nonnegative integers, implement a function getDifferentNumber that finds the smallest nonnegative integer that is NOT in the array.
* 排序后,利用下标就是最小正数;
* 利用hashMap, 下标与正数对应
[[Getting a Different Number|https://www.pramp.com/challenge/aK6V5GVZ9MSPqvG1vwQp]]
Git (/ɡɪt/) is a distributed [[version control system]] for tracking changes in source code during software development.
[[Golang]]
[[Go Modules|https://github.com/golang/go/wiki/Modules#should-i-commit-my-gosum-file-as-well-as-my-gomod-file]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Go Modules' sort[ind]>>
</div>
[[Golang package issues]]
```bash
go: finding google.golang.org/grpc v1.25.1
go: error loading module requirements
make: *** [deps] Error 1
Makefile:14: recipe for target 'deps' failed
```
It is caused by go version is old , not met the requirements of some packages.
[[Go Modules]]
!!! [[Is 'go.sum' a lock file? Why does 'go.sum' include information for module versions I am no longer using?|https://github.com/golang/go/wiki/Modules#is-gosum-a-lock-file-why-does-gosum-include-information-for-module-versions-i-am-no-longer-using]]
go.sum is not a lock file
For validation purposes, go.sum contains the expected cryptographic checksums of the content of specific module versions.
> go.sum is not a lock file, it retains cryptographic checksums for module versions even after you stop using a module or particular module version. This allows validation of the checksums if you later resume using something, which provides additional safety.
!!! [[Should I commit my 'go.sum' file as well as my 'go.mod' file?|https://github.com/golang/go/wiki/Modules#should-i-commit-my-gosum-file-as-well-as-my-gomod-file]]
Typically your module's go.sum file should be committed along with your go.mod file.
* If someone clones your repository and downloads your dependencies using the go command, they will receive an error if there is any mismatch between their downloaded copies of your dependencies and the corresponding entries in your go.sum.
* In addition, go mod verify checks that the on-disk cached copies of module downloads still match the entries in go.sum.
[[Note]]
[[Golang]]
[How does apt-get work exactly?](https://yonghaowu.github.io//2016/12/10/howLinuxInstallWorks/)
[ldd 查看程序依赖库](https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/ldd.html)
`go releaser`在CI里编译好的文件,跑起来提示:/tmp/zero-redis: No such file or directory
`readelf -a /tmp/zero-redis | less`可以看到,二进制依赖了这个动态链接库:
> [Requesting program interpreter: /lib/ld-musl-x86_64.so.1]
本地没有这个文件,所以报错了:
> ls /lib/ld-musl-x86_64.so.1
ls: cannot access '/lib/ld-musl-x86_64.so.1': No such file or directory
`apt install musl` 安装[musl](https://musl.libc.org/),就有这个动态链接库了。
运行一切顺利。
## 解释
[[musl]]就是一个libc库(简单说就是C的库函数实现),gitlab [[ci]] 发布时是拉了goreleaser的[镜像](https://github.com/goreleaser/goreleaser/blob/master/Dockerfile),这是基于[[alpine]]的,
[[alpine]]默认使用的就是[[musl]],所以在CI上编译出来的二进制就是依赖了[[musl]]。
> [[musl]] is an implementation of the C standard library built on top of the Linux system call API, including interfaces defined in the base language standard, POSIX, and widely agreed-upon extensions. musl is lightweight, fast, simple, free, and strives to be correct in the sense of standards-conformance and safety.
[[Golang]]
[[go src的make.bash|https://github.com/golang/go/blob/master/src/make.bash]]
go build 会做了有些make的事情
[[Golang Channel]]
[[Channel_types|https://golang.org/ref/spec#Channel_types]]
`ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType .`
```golang
chan T // can be used to send and receive values of type T
chan<- float64 // can only be used to send float64s
<-chan int // can only be used to receive ints
```
[[Note]]
> https://sum.golang.org/lookup/git.garena.com/common/gommon/logger@v0.0.0-20200110033305-14259450ba18
不是DNS的问题,是[[Golang]] private没设置对,去golang那边去找包了,然后解析不了`git.garena.com`.
```
GO_MAJOR_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f2)
MINIMUM_SUPPORTED_GO_MAJOR_VERSION = 13
deps:
echo "GO_MAJOR_VERSION: $(GO_MAJOR_VERSION)"
@if [ $(GO_MAJOR_VERSION) -gt $(MINIMUM_SUPPORTED_GO_MAJOR_VERSION) ]; then \
echo "Use go env -w to set GONOSUMDB, GONOPROXY, GOPRIVATE"; \
go env -w GONOSUMDB="git.garena.com"; \
go env -w GONOPROXY="git.garena.com"; \
go env -w GOPRIVATE="git.garena.com"; \
else \
echo "Use export env var to set GONOSUMDB, GONOPROXY, GOPRIVATE"; \
export GO111MODULE=on; \
export GONOSUMDB="git.garena.com"; \
export GONOPROXY="git.garena.com"; \
export GOPRIVATE="git.garena.com"; \
fi
go env
env GO111MODULE=on go mod download
env GO111MODULE=on go mod vendor
```
make file 里下包时,根据go的版本用不同方式设置去哪里找garena的包就好了
参考: https://git.garena.com/shopee/cloud/zero-redis/blob/master/Makefile#L13
[[Golang]]
[[boolean flags set with '=' but not space|https://github.com/urfave/cli/issues/740]]
<<<.tc-big-quote
This is the result of design constraints, and I'm not sure that parsing that way makes more sense than how it works now.
A boolean flag normally does not take arguments. For a boolean flag where the default is false, if the flag is present, the value is set to true. Consider the case where the application takes arguments as well, for a flag with the default value of false:
app --bool-flag foo
--bool-flag is a boolean flag, so foo must therefore be an argument. If the argument becomes true by default, isn't changing whether or not an argument passed more surprising? Or even worse, trying to change whether what follows is parsed as an argument based on whether it happens to be true or false? The = syntax is only allowed because it's unambiguous, but really I consider it more surprising that = is allowed at all.
The design pattern I use to avoid this situation is to flip the default by using the prefix no-.
# Before
app --foo=false
# After
app --no-foo
[[Golang Example]]
```golang
package main
func main() {
arguments := os.Args
if len(arguments) == 1 {
fmt.Println("Please provide nums connection")
return
}
tcpAddr, err := net.ResolveTCPAddr("tcp", "10.70.41.42:23457")
if err != nil {
fmt.Println(err)
return
}
conn, _ := strconv.Atoi(arguments[1])
notify := make(chan error)
concurrent := 10
for c := 0; c < concurrent; c++ {
go func(ccc, cnt int) {
for i := 0; i < cnt; i++ {
// fmt.Println("ccc ", ccc, " cnt ", i)
c, err := net.DialTCP("tcp", nil, tcpAddr)
if err != nil {
fmt.Println(err)
return
}
if err := c.SetKeepAlive(true); err != nil {
fmt.Println("-------", err)
return
}
if err := c.SetKeepAlivePeriod(1 * time.Second); err != nil {
fmt.Println("-------", err)
return
}
go func() {
buf := make([]byte, 1024)
for {
n, err := c.Read(buf)
if err != nil {
notify <- err
if io.EOF == err {
// close(notify)
return
}
}
if n > 0 {
fmt.Println("unexpected data: ", buf[:n])
}
}
}()
}
time.Sleep(1 * time.Hour)
}(c, conn/concurrent)
}
for {
select {
case err := <-notify:
fmt.Println("connection dropped message", err)
if err == io.EOF {
fmt.Println("connection to server was closed")
}
}
}
}
```
[[Golang syntax]]
规则:
* defer语句被求值时,被defer调用的函数参数即时求值 A deferred function’s arguments are evaluated when the defer statement is evaluated.
例子:
* `defer f("a")`, the function value = `f`, the parameters = `"a"`
* `defer f(g("a"))`, the function value = `f`, the parameters = `g("a")`, g("a") 会被马上求值
* `defer f()()`,the function value = `f()`, no parameters, f()会被马上求值
fix:
```golang
func main() {
startedAt := time.Now()
defer fmt.Println(time.Since(startedAt)) // bug: time.Since(startedAt) 被即时求值
time.Sleep(time.Second)
}
```
修正方法为采用闭包: defer func() { fmt.Println(time.Since(startedAt)) }()。
[[Golang]]
On Unix systems, the resolver has two options for resolving names.
* It can use a pure Go resolver that sends DNS requests directly to the servers listed in `/etc/resolv.conf`
* or it can use a cgo-based resolver that calls C library routines such as [[getaddrinfo]] and [[getnameinfo]].
```bash
export GODEBUG=netdns=go # force pure Go resolver
export GODEBUG=netdns=cgo # force cgo resolver
```
The decision can also be forced while building the Go source tree by setting the netgo or netcgo build tag.
[[net: pure Go resolver(netdns) can not resolve hostname.local |https://github.com/golang/go/issues/35067]]
[[Golang exec command]]
[[io/ioutil hangs with too big output from os/exec stderr and stdout pipes|https://github.com/golang/go/issues/16787]]
```bash
rm /tmp/t.txt; for i in $(seq 1 77777); do echo $i >> /tmp/t.txt;done
```
```golang
package main
import (
"fmt"
"io/ioutil"
"os/exec"
)
func main() {
cmd := exec.Command("cat", "file")
stdout, _ := cmd.StdoutPipe()
stderr, _ := cmd.StderrPipe()
cmd.Start()
be, _ := ioutil.ReadAll(stderr)
bo, _ := ioutil.ReadAll(stdout)
cmd.Wait()
fmt.Printf("%d be size \n", len(be))
fmt.Printf("%d bo size \n", len(bo))
}
```
This is unfortunately just how Unix pipes work. You need to read from both pipes at the same time. What's happening is that `cat` is trying to write to stdout, but its attempt to write is blocked because the stdout buffer is full. You're trying to `ReadAll` from stderr, but stderr won't be closed until cat exits, which won't happen until it finishes writing to stdout. So, deadlock.
This is why `Command` provides `Output` and `CombinedOutput` methods; they are careful to always read from both pipes at once. If you want both stdout and stderr but not in the same byte slice, you can also do what `CombinedOutput` does under the covers and assign separate `bytes.Buffer` to `Stdout` and `Stderr`. Or you can just use Goroutines to read from both at once.
!! How I fixed
```golang
// from cmd library(cmd.combinedOutput), modified to separate bytes.Buffer to Stdout and Stderr
func execGetOutput(c *exec.Cmd) ([]byte, []byte, error) {
if c.Stdout != nil {
return nil, nil, errors.New("exec: Stdout already set")
}
if c.Stderr != nil {
return nil, nil, errors.New("exec: Stderr already set")
}
var stdoutBuf bytes.Buffer
var stderrBuf bytes.Buffer
c.Stdout = &stdoutBuf
c.Stderr = &stderrBuf
err := c.Run()
return stdoutBuf.Bytes(), stderrBuf.Bytes(), err
}
```
this one is not ok too, output is not complete:
```go
func main() {
cmd := exec.CommandContext(context.Background(), "cat", "/tmp/t.txt")
var stdin io.WriteCloser
var stdout, stderr io.ReadCloser
var err error
if stdin, err = cmd.StdinPipe(); err != nil {
fmt.Println("err is ", err)
os.Exit(1)
}
defer stdin.Close()
if stdout, err = cmd.StdoutPipe(); err != nil {
fmt.Println("err is ", err)
os.Exit(1)
}
defer stdout.Close()
if stderr, err = cmd.StderrPipe(); err != nil {
fmt.Println("err is ", err)
os.Exit(1)
}
defer stderr.Close()
if err = cmd.Start(); err != nil {
fmt.Println("err is ", err)
os.Exit(1)
}
multireader := io.MultiReader(stdout, stderr)
go func() {
if _, err := io.Copy(os.Stdout, multireader); err != nil {
log.Infof("[redisCluster Init] copy stdout to multireader met err %v", err)
}
}()
if err = cmd.Wait(); err != nil {
fmt.Println("err is ", err)
os.Exit(1)
}
}
```
!! Test C code
```
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/wait.h>
#define READBYTES 100
int main(void)
{
int stdout_pipe[2];
int stderr_pipe[2];
pid_t pid;
if(pipe(stdout_pipe) < 0) {
perror("pipe error");
return -1;
}
if(pipe(stderr_pipe) < 0) {
perror("pipe error");
return -1;
}
fcntl(stdout_pipe[0], F_SETFD, FD_CLOEXEC);
fcntl(stdout_pipe[1], F_SETFD, FD_CLOEXEC);
fcntl(stderr_pipe[0], F_SETFD, FD_CLOEXEC);
fcntl(stderr_pipe[1], F_SETFD, FD_CLOEXEC);
if ((pid = fork()) < 0) {
perror("fork error");
return -1;
} else if (pid > 0) {
/* printf("father\n"); */
char b[READBYTES];
char c[READBYTES];
sleep(4);//close after son start
close(stdout_pipe[1]);
close(stderr_pipe[1]);
printf("read stderr_pipe %ld, %s\n", read(stderr_pipe[0], c, READBYTES), c);
printf("read stdout_pipe %ld, %s\n", read(stdout_pipe[0], b, READBYTES), b);
printf("wait son\n ");
int stat_val;
waitpid(pid, &stat_val, 0);
if (WIFEXITED(stat_val))
printf("Child exited with code %d\n", WEXITSTATUS(stat_val));
else if (WIFSIGNALED(stat_val))
printf("Child terminated abnormally, signal %d\n", WTERMSIG(stat_val));
return 0;
} else {
/* printf("son\n"); */
dup2(stdout_pipe[1], fileno(stdout));
dup2(stderr_pipe[1], fileno(stderr));
char *argv[] = {"./a.out", NULL};
execvp(argv[0], argv);
return 0;
}
}
```
[[Golang patterns]]
functional options for friendly APIs
```golang
s1, _ := NewServer("localhost", 1024)
s2, _ := NewServer("localhost", 2048, Protocol("udp"))
s3, _ := NewServer("0.0.0.0", 8080, Timeout(300*time.Second), MaxConns(1000))
```
!!Implementation
```golang
type Option func(*Server)
func Protocol(p string) Option {
return func(s *Server) {
s.Protocol = p
}
}
func Timeout(timeout time.Duration) Option {
return func(s *Server) {
s.Timeout = timeout
}
}
func MaxConns(maxconns int) Option {
return func(s *Server) {
s.MaxConns = maxconns
}
}
func TLS(tls *tls.Config) Option {
return func(s *Server) {
s.TLS = tls
}
}
func NewServer(addr string, port int, options ...func(*Server)) (*Server, error) {
srv := Server{
Addr: addr,
Port: port,
Protocol: "tcp",
Timeout: 30 * time.Second,
MaxConns: 1000,
TLS: nil,
}
for _, option := range options {
option(&srv)
}
//...
return &srv, nil
}
```
[[Golang patterns]]
```golang
type Reader struct {
r io.Reader
err error
}
func (r *Reader) read(data interface{}) {
if r.err == nil {
r.err = binary.Read(r.r, binary.BigEndian, data)
}
}
```
```golang
func parse(input io.Reader) (*Point, error) {
var p Point
r := Reader{r: input}
r.read(&p.Longitude)
r.read(&p.Latitude)
r.read(&p.Distance)
r.read(&p.ElevationGain)
r.read(&p.ElevationLoss)
if r.err != nil {
return nil, r.err
}
return &p, nil
}
```
[[Golang]]
[[cmd/go: can't get mod by version "vx.x"|https://github.com/golang/go/issues/27528]]
[[Note]]
[[monad]]
https://www.innoq.com/en/blog/golang-errors-monads/
[[Golang]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Golang net' sort[ind]>>
</div>
[[Golang net]]
Send data to server, receive RST packet:
* 23456 is client, 12340 is server
* if read, will met `read tcp 127.0.0.1:23456->127.0.0.1:12340: read: connection reset by peer`
* if write, will met `write tcp 127.0.0.1:23456->127.0.0.1:12340: write: broken pipe
`
[[Golang]]
[[runtime: make `GOMAXPROCS` cfs-aware on `GOOS=linux`|https://github.com/golang/go/issues/33803]]
!! Solution
* lxcfs
* [[uber-go/automaxprocs|https://github.com/uber-go/automaxprocs]]
[[Golang]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Golang Parameters' sort[ind]>>
</div>
[[Golang]]
[[ Go编程模式 ref coolshell|https://coolshell.cn/articles/series/go%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%BC%8F]]
[[Property-based Testing]]
[[Rapid | https://github.com/flyingmutant/rapid]] is a Go library for property-based testing that supports state machine ("stateful" or "model-based") testing and fully automatic test case minimization ("shrinking")
Property-based testing is a style of testing that originated with the Haskell library QuickCheck.
[[Golang Property Based Testing]]
```golang
func TestReformatAddress(t *testing.T) {
if addr := ReformatAddress("10.233.100.175/1:6379"); addr != "10.233.100.175:6379" { //nolint
t.Errorf("1: %s", addr)
}
if addr := ReformatAddress("10.233.100.175:6379"); addr != "10.233.100.175:6379" { //nolint
t.Errorf("2: %s", addr)
}
if addr := ReformatAddress("10.233.100.175"); addr != "10.233.100.175:6379" { //nolint
t.Errorf("3: %s", addr)
}
}
```
Above is a classic unit test, below is PBT.(In fact, above misses a case, `250.250.250.250/1`)
```golang
func TestPBTReformatAddress(t *testing.T) {
const ipv4re = `(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`(/[1-3]?[1-9])?` + // \
`(:^()([1-9]|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5])$)?` // :port range
const validIP4re = `(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`(:([1-9]|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5])$)` // :port range
rapid.Check(t, func(t *rapid.T) {
addr := rapid.StringMatching(ipv4re).Draw(t, "addr").(string)
fmtAddr := ReformatAddress(addr)
net.ParseIP(strings.Split(fmtAddr, ":")[0])
var re = regexp.MustCompile(validIP4re)
fmt.Printf("origin is %s addr, fmtAddr is %s, match is %v\n", addr, fmtAddr, re.MatchString(fmtAddr))
match := re.MatchString(fmtAddr)
if !match {
t.Fatalf("%s is not correct", fmtAddr)
}
})
}
```
[[Golang]]
Go does have an extensive library, called the runtime, that is part of every Go program.
The runtime library implements:
* garbage collection
* concurrency
* stack management
* and other critical features of the Go language.
Although it is more central to the language, Go's runtime is ''analogous to libc, the C library''.
It is important to understand, however, that Go's runtime does not include a virtual machine, such as is provided by the Java runtime.
''Go programs are compiled ahead of time to native machine code (or JavaScript or WebAssembly, for some variant implementations). ''
Thus, although the term is often used to describe the virtual environment in which a program runs, in Go the word “runtime” is just the name given to the library providing critical language services.
[[Golang Channel]]
*select 能在 Channel 上进行非阻塞的收发操作;
** 当存在可以收发的 Channel 时,直接处理该 Channel 对应的 case;
** 当不存在可以收发的 Channel 时,执行 default 中的语句;
* select 在遇到多个 Channel 同时响应时,会随机执行一种情况;
[[Golang]]
The scope of a label is the body of the function in which it is declared and excludes the body of any nested function.
不能在匿名函数中使用外部的label
[[Golang goroutine]]
[[a-complete-journey-with-goroutines|https://medium.com/@riteeksrivastava/a-complete-journey-with-goroutines-8472630c7f5c]]
* linux 的调度是为CPU找到可运行的[[Thread]]
* Go的调度是为 M(线程)找到 P(内存,执行票据)和可运行的G
Go uses three entities to explain the Goroutine scheduling.
[img[https://miro.medium.com/max/2192/1*bGkWfuAGbHK9r1lFpukYpw.png]]
There’s also a global Goroutine queue which contains runnable Goroutines.
*Processor (P)
** Every P has a local Goroutine queue.
*OSThread (M)
** Each M should be assigned to a P
*Goroutines (G)
At any time, there are at most GOMAXPROCS number of P and only one M can run per P
! scheduler finds a runnable G and executes it
[img[https://miro.medium.com/max/2132/1*Q7_pAxBx1q4C8MUTHQ3oDg.png]]
In each round of scheduling, scheduler finds a runnable G and executes it. Once a runnable G is found, it gets executed until it is blocked (as explained above).
```
Search in the local queue
if not found
Try to steal from other Ps' local queue //see Fig 3
if not found
Search in the global queue
Also periodically it searches in the global queue (every ~ 1/70)
```
In the current version of Go, GOMAXPROCS is used to control the number of threads available for Goroutine execution to a particular go program
[[Note]]
[[graceful shutdown]]
!! 原理
* 从目标进程处fork进程,它会继承监听socket(fd);
* 子进程初始化,基于旧socket接收新连接;
* 随后子进程发信号给parent,让它不再接收进程并退出;
[[Graceful Restart in Golang|https://grisha.org/blog/2014/06/03/graceful-restart-in-golang/]]
Grafana is a multi-platform open source analytics and interactive visualization web application for [[Prometheus]].
[[Neuroscience]]
* 凌乱环境的影响
** 超负荷的感官刺激
** 压力增大
** 多重任务相互影响
** 判断的准确度降低
** 冲动行为
*阳光
** 根据2018年一项来自中国的研究,更多地接受阳光的照射能够改善人的记忆力和情绪(Zhu et al., 2018)。另一项更早期的研究还发现,暴露在阳光下的时间减少与认知能力下降之间存在关联,这种影响在抑郁症患者中更为明显
*ω-3脂肪酸
** ω-3是一种在`鱼油、亚麻籽、核桃、大豆`等食物中富含的脂肪酸,它因对心脏的健康促进作用和强大的抗炎能力而被大众所熟知
* 多酚类
** 多酚是一种小分子化合物,具有抗氧化和抗炎症的效用。天然多酚存在于水果、蔬菜、香草、香料、茶、黑巧克力和葡萄酒中。
** 科学证据表明黑巧克力中的黄酮类化合物对大脑有复杂而显著的影响
*** 通过直接作用于神经细胞而促进神经发生、神经功能和突触连接结构的形成
*** 改善脑内血流状态和血管生成
*** 黄酮类化合物还可以提高注意力和工作记忆水平(Krikorian, Nash, Shidler, Shukitt-Hale, & Joseph,2010),甚至减缓大脑老化过程(Vauzour, 2012)。另外还有研究者认为黑巧克力也可以改善情绪。
[[Multi-Leader Replication]]
[img[https://vonng.gitbooks.io/ddia-cn/content/img/fig5-7.png]]
原则上,可以使冲突检测同步 - 即等待写入被复制到所有副本,然后再告诉用户写入成功。但是,通过这样做,您将失去多主复制的主要优点:允许每个副本独立接受写入。如果您想要同步冲突检测,那么您可以使用单主程序复制。
[[Neuroscience]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Happiness' sort[ind]>>
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Health' sort[ind]>>
</div>
[[Data Structure]]
[img[https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Max-Heap-new.svg/440px-Max-Heap-new.svg.png]]
!! 在最大堆中,父节点一定 >= 子节点。
In a max heap, for any given node C, if P is a parent node of C, then the key (the value) of P is greater than or equal to the key of C
!! 堆经常作为优先队列的实现
The heap is one maximally efficient implementation of an abstract data type called a priority queue, and in fact, priority queues are often referred to as "heaps", regardless of how they may be implemented.
!! 时间复杂度
Time complexity in big O notation
|Algorithm|Average|Worst case|
|Space|O(n)|O(n)|
|Search|O(n)|O(n)|
|Insert|O(1)|O(log n)|
|Find-min|O(1)|O(1)|
|Delete-min|O(log n)|O(log n)|
!! O(log n)
The number of operations required depends only on the number of levels the new element must rise to satisfy the heap property.
Thus, the insertion operation has a worst-case time complexity of O(log n). For a random heap, and for repeated insertions, the insertion operation has an average-case complexity of O(1)
[[Happiness]]
当我们经历一个积极的变化事件初始, 如收入增加或得心仪的商品, 往往感觉兴奋、激动或幸福, 但没过多久, 这些积极情绪逐渐淡化, 最终回归初始状态。这一过程被称为“享乐适应” (Hedonic adaptation)或“享乐水车” (Hedonic treadmill)
!! 较之负向事件, 个体对正向事件的适应速度更快
因此负向事件对个体的影响更长久。可谓坏总比好强大(Baumeister,Bratslavsky,Finkenauer,&Vohs,2001)。
许多社会认知和临床心理学研究都认为负向刺激有特殊的吸引视觉注意的倾向,并且个体一旦注意到负面刺激即会维持对这些刺激的注意,导致对负面刺激解除注意所需要的时间更长(冯文锋,罗文波,廖渝,陈红,罗跃嘉,2010)。
这与前景理论的结论不谋而合,即人们在面临损失和获得时的敏感程度是不一样的,损失时的痛苦感远超获得时的幸福感(Kahneman&Tversky,1984)。
!! 积极与消极体验的享乐适应模型
!!! 路径
# 路径一是正向或负向的改变事件所带来的积极或消极情绪随时间流逝逐渐减弱,最终使幸福感回归原点
# 路径二是事件流改变了个体的预期(正向或负向),从而使个体逐渐忽略这些事件的刺激。
个体能够适应积极的体验或变化,从而需要更高水平的体验以维持幸福感。满意度取决于现实与期望之间的差异,期望的提升必然降低满意度。因此“期望水平”是享乐适应过程的另一个中介变量,“期望水平”越高,幸福感增加得越少
!!! 变动性
一次性变化的、固定的、重复的刺激物,既容易被习惯,其结果又是确定的、可预期的,毫无惊喜可言,因此更容易被适应。而不断变化的刺激物,显得更有趣,不仅能经常带来惊喜,而且能够降低渴望新刺激物的水平,因为“这个刺激物还非常有趣,我为什么需要新的?
!! Summary
对正向改变的适应或习惯会让人麻木,使得积极情绪渐渐淡化。因此人类欲维持长期幸福感,要充分发挥意向活动的作用,做自己感兴趣的事,积极制造变化,保持新鲜感与活力。
具体而言,一方面可以适时做一些大的事件来使生活有所改变,并通过持续的小变化来保持对该大事件的关注与热情;另一方面可以降低预期,常怀感恩之情,以提升满足
[[Designing partitions]]
In this strategy, each partition is a separate data store, but all partitions have the same schema.
''Each partition is known as a shard and holds a specific subset of the data, such as all the orders for a specific set of customers.''
[img[Horizontally partitioning (sharding) data based on a partition key.|https://docs.microsoft.com/en-us/azure/architecture/best-practices/images/data-partitioning/datapartitioning01.png]]
[[Step 4: Scaling your abstract design]]
[[Horizontal, vertical, and functional data partitioning|https://docs.microsoft.com/en-us/azure/architecture/best-practices/data-partitioning]]
In many large-scale solutions, data is divided into partitions that can be managed and accessed separately.
Partitioning can ''improve scalability, reduce contention, and optimize performance. It can also provide a mechanism for dividing data by usage pattern''. For example, you can archive older data in cheaper data storage.
However, the partitioning strategy must be chosen carefully to maximize the benefits while minimizing adverse effects.
[[Linux CPU Performance Tools]]
By using [[Performance Monitoring Counters (PMCs)]]: hardware counters that can be read using Linux perf, and other tools.
For example, measuring the entire system for 10 seconds:
```bash
# perf stat -a -- sleep 10
Performance counter stats for 'system wide':
641398.723351 task-clock (msec) # 64.116 CPUs utilized (100.00%)
379,651 context-switches # 0.592 K/sec (100.00%)
51,546 cpu-migrations # 0.080 K/sec (100.00%)
13,423,039 page-faults # 0.021 M/sec
1,433,972,173,374 cycles # 2.236 GHz (75.02%)
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
1,118,336,816,068 instructions # 0.78 insns per cycle (75.01%)
249,644,142,804 branches # 389.218 M/sec (75.01%)
7,791,449,769 branch-misses # 3.12% of all branches (75.01%)
10.003794539 seconds time elapsed
```
The key metric here is [[instructions per cycle(IPC)]] , which shows on average how many instructions we were completed for each CPU clock cycle.
The higher, the better (a simplification).
[[Hypertext Transfer Protocol (HTTP)]]
! HTTP 的不足
在阅读此章时,读者可以给自己一个思考时间,锻炼设计与思考能力—— 目前在用的 HTTP 协议,你认为有哪些不足呢? 你可以重新设计一个替代它并且尽可能兼容的协议,你会怎么做呢?
可尝试自己写下设计,定会受益甚多。
!! TCP连接数过多
`HTTP1.0`只允许一条 tcp 链接上处理一个 request,尽管后来的 `HTTP1.1`(现在常用的版本)允许`pipelining`, 管道,通过这个管道,浏览器的多个请求可以同时发到服务器,但是服务器的响应只能够一个接着一个的返回 (但各大浏览器有些不支持 / 默认关闭,因此这功能可以说是鸡肋)。
!! HTTP 头部过多重复
`Host`、`Accept-Encoding`、`Connection`、`origin`、`content-type`等等一堆头部,都在不同的请求中重复出现。
除了浪费大量流量,还会导致 `TCP` 的初始拥塞窗口(`initcwnd`)快速满了,当多个请求准备在同一个tcp 连接上发送时,会导致大量延迟——当`initcwnd >= ssthresh(slow start threshold)` 时,tcp就会进入 “拥塞避免算法”,把发送的速度调慢,避免增长过快导致网络拥塞,慢慢的增加调整到网络的最佳值。
当然初始拥塞窗口(initcwnd)也不能调太大来避免。
> If the initcwnd values is large, then there will be fewer RTTs required to download the same file. But we cannot set initcwnd to a huge value as the network environment and the routers also has the limitation of having limited buffers. If exceedingly large values are set, it may lead to router buffer overflows, packet loss, packet re-transmissions. So, we need to set an optimal value for the initcwnd which is directly proportional to the network bandwidth.
!! 使用文本协议
文本协议尽管带来了可读性以及方便程序员 debug,但这是高性能网络程序要竭力避免的——君不见每个公司内部都要搞一个自己的二进制协议吗?二进制,每个在网络上交流的 bit 的意义都被发挥得淋漓尽致。
而说到 可读与debug 的问题,自然浏览器(客户端),服务器(框架)可以帮你解决,套上一层中间层就好。
[[Hypertext Transfer Protocol (HTTP)]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'HTTP Status codes' sort[ind]>>
</div>
[[Application layer]]
! HTTP2 概览
`HTTP2`, 为解决以上问题而生。
* 允许多个 request/response在同一个 tcp 链接上发送
* 高效压缩头部(http header)
* 二进制协议,真正的多路复用
* 还有自己的流量控制,保证各个 stream不被互相干扰;
* 支持请求分优先级发送,优先级越高如核心 css、html,优先发给客户端
* 支持服务器预测并推送客户端可能需要的资源,让客户端先做缓存(server push),榨干服务器
* 兼容 HTTP1.1 的语义,尽可能一致。
[[HTTP2 implementation]]
! HTTP2 的 帧(frame)
HTTP2中二进制协议的基本单元叫 frame(帧),不同frame 有不同作用,如:
* `SETTING`帧:建立连接时,向对方传达一些配置信息如是否开启 server push 功能、最大帧 size等等(牢记,下文不累述此);
* `HEADERS`帧:发送 http 的 request 或者response的头部;
* `CONTINUATION`帧:headers 要跨越多个帧,用此来指示头部上一个`HEADERS`;本质就是`HEADERS`帧,但是为了轻松处理,就用明确的类型来区分这种情况;
* `DATA`帧:发送body数据用;
* `PUSH_PROMISE` 帧:用来告知对端初始化哪些数据,就是以上说到的 `server push` 功能
* `WINDOW_UPDATE`帧:用来做流量控制
等。
帧的格式如下,熟悉二进制协议的你对此想必很清晰:
```
+-----------------------------------------------+
| Length (24) |
+---------------+---------------+---------------+
| Type (8) | Flags (8) |
+-+-------------+---------------+-------------------------------+
|R| Stream Identifier (31) |
+=+=============================================================+
| Frame Payload (0...) ...
+---------------------------------------------------------------+
```
* `length`: `frame payload` 的长度;
* `type`:` frame` 的类型;
* `flag`: 保留给` frame` 的类型使用;
* `R`: 保留的一个 bit,没有任何作用;
* `Stream Identifier`: unsigned 31 位整数`id`,用来区分 stream;
* `Frame Payload`: frame 携带的可变长数据,可为空
以上 6 种东西,`Frame Payload` 可以没有,但是其他必须有。
所以所有 frame 必定会有至少 `24 + 8 + 8 + 1 + 31 + (0…) = 72 位`的数据。
[img[https://developers.google.com/web/fundamentals/performance/http2/images/binary_framing_layer01.svg]]
[[HTTP2 implementation]]
`HTTP2`打破了以往 `HTTP1` 一问一答的范式,允许服务器主动往客户端推数据了,但值得注意的是,这依然不能代替 `Websoket`,两者是不等价的,除非你自己重新实现 http2 客户端服务端的功能——也就是改 HTTP2 协议了。
服务器可以通过 `PUSH_PROMISE`帧,把预估客户端可能需要的资源,在其没有请求前直接发送给对方,让对方缓存。如下图就直接发了 `styles.css`给对方。
[[HTTP2 implementation]]
!! 流(stream)
流在HTTP2 一条连接中,在客户端与服务端之间,双向交换帧(frame)。
简单说,客户端与服务端之间相互发送的帧,都通过一个个独立流来传输,多个流可以在同一http2 连接中并发,而每个流都有一个 ID(Stream Identifier),frame 就是通过此来识别流。
流你可以理解为一个抽象概念,就是为了区分不同的请求,用于多路复用。
流的状态机如下:
[img[https://i.imgur.com/iUPIXLC.png]]
我们常见的 HTTP 请求就是走黄色的线:
`idle`状态 -> 发送 `HEADER`帧后变成`OPEN` -> 发送完数据后发送 `END_STREAM`代表发完 -> 变成 `half closed`状态 -> 等待对方发送 `END_STREAM`代表对方发完 。
你会发现这个流程非常像 `TCP 的四次挥手`,因为本质都是自己关闭流后,要等待对方关闭并自己来确认。
当然,也会有像四次挥手一样的`RESET` 一样 `reset stream 的功能`,我就不累述了。
[[HTTP2 Stream]]
!! Stream 优先级
客户端可以在开启一个流时,通过设置在`HEADER 帧`里的`PRIORITY`这个 flag,来指定流的优先级。这样子就可以做到优先级越高如核心 css、html,优先发给客户端
[[HTTP2 Stream]]
HTTP2 的Stream有流量控制功能,HTTP2 的接收方通过 [[WINDOW_UPDATE|https://http2.github.io/http2-spec/#WINDOW_UPDATE]] 帧告诉对方自己准备接收多少字节的数据,注意只有 `DATA 帧`才会受限制,因为其他帧都不大,而且也比较重要。
[[HTTP2 implementation]]
`HPACK`就是专门用来处理重复冗余的头部的,对这个优化,自然就想到查表法——客户端发送请求前,在内部创建一个哈希表,索引对应着头部与值,并将此对应表发送供给服务器;服务器首次接收到后,也维护一个一模一样的表,之后有重复头部时,客户端直接发索引值即可。
[[HTTP2 Frame]]
值得注意的是,当 data 过大的时候,http2 的 rfc 没有规定 data frame 应该拆分与否(翻了一大堆资料都没有找到)。
然而去用一些工具如nghttp去看详细过程,可看到 data frame 都是拆开一个个的,原因就是为了多路复用。这
`$ nghttp -v -n --no-dep -w 14 -a https://www.vgtime.com`
```bash
[ 0.063] recv (stream_id=9) eagleid: 2ff6019a15691588216324974e
[ 0.063] recv (stream_id=9) content-encoding: gzip
[ 0.063] recv HEADERS frame <length=188, flags=0x04, stream_id=9>
; END_HEADERS
(padlen=0)
; First response header
[ 0.063] recv DATA frame <length=8192, flags=0x00, stream_id=9>
[ 0.063] recv DATA frame <length=464, flags=0x00, stream_id=9>
[ 0.063] recv DATA frame <length=2510, flags=0x00, stream_id=9>
[ 0.063] recv DATA frame <length=10, flags=0x01, stream_id=9>
; END_STREAM
```
所以一个大的请求如下图,常见的帧就是每一个 `Frame Header` 接一个 `Frame Body`。
[img[https://media.prod.mdn.mozit.cloud/attachments/2016/08/31/13819/8d9b4956d90236c34bd587e8485f1dc9/Binary_framing2.png]]
帧的大小范围规定为 `2的14次方 (16,384)` 到 `2的24次方-1 (16,777,215)` 字节,也就是大概 `16KB 到 16MB`。
但若双方没有协议,一般默认为 16Kb,假如`HEADERS`帧不够装完头部时,就用第二个 `CONTINUATION`帧来装,
所以你看到可以有多个 `CONTINUATETION`帧下有省略号,因为可以有多个。
[[CPU(CentralProcessingUnit)]]
超线程可以在一个逻辑核等待指令执行的间隔(等待从cache或内存中获取下一条指令),把时间片分配到另一个逻辑核。高速在这两个逻辑核之间切换,让应用程序感知不到这个间隔,误认为自己是独占了一个核。
[[Application layer]]
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems
[[Layer 3: Network layer]]
The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite.
ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications (with the exception of some diagnostic tools like ping and traceroute).
[img[https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/ICMP_header_-_General-en.svg/640px-ICMP_header_-_General-en.svg.png?1599106083188]]
[[Neuroscience]]
[[Impact of Television Viewing on Brain Structures: Cross-Sectional and Longitudinal Analyses|https://academic.oup.com/cercor/article/25/5/1188/311796]]
> TV viewing during infancy and childhood is considered to be detrimental to the development of intellectual abilities, particularly verbal ones
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Indie Hackers' sort[ind]>>
</div>
[[Indie Hackers]]
* 投稿,审核,点赞 feeder
* 问答
* k8s 登录服务
[[Linux CPU Performance Tools]]
Shows on average how many instructions we were completed for each CPU clock cycle
<div class="box">
* If your IPC is < 1.0, you are likely memory stalled
* If your IPC is > 1.0, you are likely instruction bound
</div>
* If your IPC is < 1.0, you are likely memory stalled, and software tuning strategies include reducing memory I/O, and improving CPU caching and memory locality, especially on NUMA systems. Hardware tuning includes using processors with larger CPU caches, and faster memory, busses, and interconnects.
* If your IPC is > 1.0, you are likely instruction bound. Look for ways to reduce code execution: eliminate unnecessary work, cache operations, etc. CPU flame graphs are a great tool for this investigation. For hardware tuning, try a faster clock rate, and more cores/hyperthreads.
For my above rules, I split on an IPC of 1.0. Where did I get that from? I made it up, based on my prior work with PMCs. Here's how you can get a value that's custom for your system and runtime: write two dummy workloads, one that is CPU bound, and one memory bound. Measure their IPC, then calculate their mid point.
[[Layer 3: Network layer]]
IP 协议是用于传输数据包的协议,作为网络层协议,它能提供数据的路由和寻址功能,让数据通过网络到达目的
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Internet Protocol (IP)' sort[ind]>>
</div>
[[Network]]
<div class="box">
"""
The Internet protocol suite is the conceptual model and set of communications protocols used in the Internet and similar computer networks. It is commonly known as TCP/IP because the foundational protocols in the suite are the Transmission Control Protocol (TCP) and the Internet Protocol (IP).
"""
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Internet protocol suite' sort[ind]>>
</div>
[[Internet Protocol (IP)]]
<<<.tc-big-quote
IPv4 uses a 32-bit address space which provides 4,294,967,296 (2^32) unique addresses, but large blocks are reserved for special networking methods.
[[Internet Protocol (IP)]]
<<<.tc-big-quote
IPv6 uses a 128-bit address, theoretically allowing 2^128, or approximately 3.4×1038 addresses.
[[Linux]]
In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data.
[[Linux]]
An interrupt is a response by the processor to an event that needs attention from the software
[img[https://upload.wikimedia.org/wikipedia/commons/c/cf/Interrupt_Process.PNG?1593449894658]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Interrupt' sort[ind]>>
</div>
[[Algorithm And Data Structure]]
[[File&IO]]
<div class="box">
"""
ioctl用于向设备发控制和配置命令,有些命令也需要读写一些数据,但这些数据是不能用read/write读写的,称为Out-of-band数据。也就是说,read/write读写的数据是in-band数据,是I/O操作的主体,而ioctl命令传送的是控制信息,其中的数据是辅助的数据。例如,在串口线上收发数据通过read/write操作,而串口的波特率、校验位、停止位通过ioctl设置,A/D转换的结果通过read读取,而A/D转换的精度和工作频率通过ioctl设置。
"""
</div>
!! example
This can set [[foreground process]] group ID when doing `fg`.
```bash
TIOCSPGRP const pid_t *argp
Equivalent to tcsetpgrp(fd, *argp).
Set the foreground process group ID of this terminal.
```
[[calicoctl ipam commands official doc |https://docs.projectcalico.org/reference/calicoctl/ipam/show]]
The calico-ipam plugin uses [[Calico]]'s IP pool resource to control how IP addresses are allocated to pods within the cluster. This is the default plugin used by most Calico installations.
!! Calico IPAM blocks
In Calico IPAM, IP pools are subdivided into blocks – smaller chunks that are associated with a particular node in the cluster. Each node in the cluster can have one or more blocks associated with it. Calico will automatically create and destroy blocks as needed as the number of nodes and pods in the cluster grows or shrinks.
Blocks allow Calico to efficiently aggregate addresses assigned to pods on the same node, reducing the size of the routing table.
By default Calico will try to allocate IP addresses from within an associated block, creating a new block if necessary.
By default, Calico creates blocks with room for 64 addresses (a /26), but you can control block sizes for each IP pool.
!! Cons
This allows addresses to be allocated in groups to workloads running on the same host.
By grouping addresses:
* fewer routes need to be exchanged between hosts and to other BGP peers.
* If a host allocates all of the addresses in a block then it will be allocated an additional block.
* If there are no more blocks available then the host can take addresses from blocks allocated to other hosts.
** Using `calicoctl ipam show --show-borrowed` to show them, which looks like:
```
+------------+-----------------+---------------+---------------+------+------------------------------------+
| IP | BORROWING-NODE | BLOCK | BLOCK OWNER | TYPE | ALLOCATED-TO |
+------------+-----------------+---------------+---------------+------+------------------------------------+
| 172.16.0.1 | worker-node-1 | 172.16.0.0/29 | worker-node-2 | pod | external-ns/nginx-6db489d4b7-gln7h |
| 172.16.0.2 | worker-node-3 | 172.16.0.0/29 | worker-node-2 | pod | external-ns/nginx-6db489d4b7-kzkbv |
+------------+-----------------+---------------+---------------+------+------------------------------------+
```
Specific routes are added for the borrowed addresses which has an impact on route table size.
[[Internet Protocol (IP)]]
IP 数据包的大小上限,即最大传输单元(Maximum transmission unit,即 MTU),MTU 是 IP 数据包能够传输的数据上限.
每一个物理设备都有自己的 MTU,两个主机之间的 MTU 依赖于底层的网络能力,它由整个链路上 MTU 最小的物理设备决定[[Path MTU Discovery]]
[[Linux Software]]
!! [[Why iproute2?|https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.iproute2.why.html]]
Most Linux distributions, and most UNIX's, currently use the venerable arp, ifconfig and route commands.
While these tools work, they show some unexpected behaviour under Linux 2.2 and up.
For example, GRE tunnels are an integral part of routing these days, but require completely different tools.
'' With iproute2, tunnels are an integral part of the tool set.''
| Legacy utility | Replacement command | Note |
| -------------- | -------------------------- | ------------------------------------ |
| ifconfig | ip addr, ip link, ip -s | Address and link configuration |
| route | ip route | Routing tables |
| arp | ip neigh | Neighbors |
| iptunnel | ip tunnel | Tunnels |
| nameif | ifrename, ip link set name | Rename network interfaces |
| ipmaddr | ip maddr | Multicast |
| netstat | ip -s, ss, ip route | Show various networking statistics |
| brctl | bridge | Handle bridge addresses and devicesx |
[[Signal]]
Nope, [[Golang]] program crash, but no signal
```golang
package main
import (
"fmt"
"os"
"os/signal"
"syscall"
"time"
)
func main() {
sigc := make(chan os.Signal, 1)
signal.Notify(sigc,
syscall.SIGHUP,
syscall.SIGINT,
syscall.SIGTERM,
syscall.SIGQUIT)
go func() {
s := <-sigc
fmt.Println("exit, s", s)
}()
time.Sleep(14 * time.Second)
a := []string{"a", "b"}
fmt.Println(a[2]) // this will cause panic
}
```
[[Linux]]
[[ProcessSessions]] and [[ProcessGroups]] were defined to support shell job control (although occasionally they find other uses in applications).
A session is a collection of process groups, and a process group is a collection of processes.
By inspecting the Linux-specific `/proc/PID/stat` files, we can determine the [[ProcessGroups]] ID and [[ProcessSessions]] ID of any process.
<div class="box">
```bash
$ echo $$ Display the PID of the shell
400
$ find / 2> /dev/null | wc -l & Creates 2 processes in background group
[1] 659
$ sort < longlist | uniq -c Creates 2 processes in foreground group
At this point, the shell (bash), find, wc, sort, and uniq are all running.
```
[img[https://learning.oreilly.com/library/view/the-linux-programming/9781593272203/images/f34-01.jpg]]
</div>
[[systemd]]
Journald is a system service for collecting and storing log data, introduced with systemd.
[[Journald]]
```
[Jun 01 23:02:16] systemd-journald[37814]: Failed to create new system journal: No space left on device
[Jun 01 23:02:16] systemd-journald[37814]: Failed to create new user journal: No space left on device
[Jun 01 23:02:16] systemd-journald[37814]: Failed to create new user journal: No space left on device
```
`jourlnal -fu servername` no futher output.
It is caused by `/var/log` full on Jun 01 23:02:16, so journald stop working. Maybe fd is not free, so it still occupy the file size.
Restart journald works.
[[K8S probes]]
keep your apps healthy by ensuring unhealthy containers are restarted automatically.
[[Kubernetes(K8S)]]
> A pod is a group of one or more tightly related containers that will always run together on the same worker node and in the same Linux namespace(s). Each pod is like a separate logical machine with its own IP, hostname, processes, and so on, running a single application. The application can be a single process, running in a single container, or it can be a main application process and additional supporting processes, each running in its own container. All the containers in a pod will appear to be running on the same logical machine, whereas containers in other pods, even if they’re running on the same worker node, will appear to be running on a different one.
[[K8S probes]]
The readiness probe is invoked periodically and determines whether the specific pod should receive client requests or not. When a container’s readiness probe returns success, it’s signaling that the container is ready to accept requests.
Unlike [[k8s liveness probes]], if a container fails the readiness check, it won’t be killed or restarted.
[[Kubernetes(K8S)]]
*Services represent a static location for a group of one or more pods that all provide the same service.
* When a service is created, it gets a static IP, which never changes during the lifetime of the service.
* Requests coming to the IP and port of the service will be forwarded to the IP and port of one of the pods belonging to the service at that moment.
[[VPN(Virtual private network)]]
TUN/TAP provides packet reception and transmission for user space programs.
It can be seen as a simple Point-to-Point or Ethernet device, which,
instead of receiving packets from physical media, receives them from
user space program and instead of sending packets via physical media
writes them to the user space program.
[img[https://upload.wikimedia.org/wikipedia/commons/a/af/Tun-tap-osilayers-diagram.png?1610651923091]]
[[System Design Tools]]
!! KGS can generate keys offline
# KGS generate keys, insert to `unused_keys` db
# KGS load some`unused_keys` to memory, move them to `used_keys` db
# KGS return memory keys to user
!! Improvment
* KGS dies, memory's keys will lost, acceptable
* make sure not send the same key to multiple servers
** sync to give out keys
** get a lock on
* Single Point Failure
** Standby replica of KGS
* App server can cache keys from KGS too
A key–value [[Database]], or key–value store, is a data storage paradigm designed for storing, retrieving, and managing associative arrays, and a data structure more commonly known today as a dictionary or hash table.
Key-value databases are the simplest of the [[`NoSQL databases]]: The basic data structure is a dictionary or map. You can store a value, such as an integer, string, a JSON structure, or an array, along with a key used to reference that value
[[Interrupt]]
<div class="box">
中断是一种异步的事件处理机制,用来提高系统的并发处理能力。
中断事件发生,会触发执行中断处理程序,而中断处理程序被分为上半部和下半部这两个部分。
* 上半部对应硬中断,用来快速处理中断;
* 下半部对应软中断,用来异步处理上半部未完成的工作。
Linux 中的软中断包括网络收发、定时、调度、RCU 锁等各种类型,我们可以查看 proc 文件系统中的 /proc/softirqs ,观察软中断的运行情况。
在 Linux 中,每个 CPU 都对应一个软中断内核线程,名字是 ksoftirqd/CPU 编号。当软中断事件的频率过高时,内核线程也会因为 CPU 使用率过高而导致软中断处理不及时,进而引发网络收发延迟、调度缓慢等性能问题。软中断 CPU 使用率过高也是一种最常见的性能问题。
</div>
当网卡短时内接收大量包时,中断处理不过来,linux就会将它们放到队列里,之后由一个名叫ksoftirqd内核进程来处理,在 Linux 中,每个 CPU 都对应一个软中断内核线程,名字是 ksoftirqd/CPU 编号。
[[kube-system namespace]]
As the name suggests, the pod runs a DNS server, which all other pods running in the cluster are automatically configured to use (Kubernetes does that by modifying each container’s /etc/resolv.conf file). Any DNS query performed by a process running in a pod will be handled by Kubernetes’ own DNS server, which knows all the services running in your system.
[[OS-level virtualization]]
[img[https://learning.oreilly.com/library/view/kubernetes-in-action/9781617293726/Images/01fig09_alt.jpg]]
The Control Plane is what controls the cluster and makes it function:
* The `Kubernetes API Server`, which you and the other Control Plane components communicate with
* The `Scheduler`, which schedules your apps (assigns a worker node to each deployable component of your application)
* The `Controller Manager`, which performs cluster-level functions, such as replicating components, keeping track of worker nodes, handling node failures, and so on
* `etcd`, a reliable distributed data store that persistently stores the cluster configuration.
The components of the Control Plane hold and control the state of the cluster, but they don’t run your applications. This is done by the (worker) nodes.
!! The nodes
The worker nodes are the machines that run your containerized applications. The task of running, monitoring, and providing services to your applications is done by the following components:
* Docker, rkt, or another `container runtime`, which runs your containers
* The `Kubelet`, which talks to the API server and manages containers on its node
* The `Kuberne`
[[Layer 2: Data Link Layer]]
Layer 2 Tunneling Protocol (L2TP) is a tunneling protocol used to support virtual private networks (VPNs) or as part of the delivery of services by ISPs.
It does not provide any encryption or confidentiality by itself.
Rather, it relies on an encryption protocol that it passes within the tunnel to provide privacy.
[[Programming language theory(PLT)]]
[[Lambda Papers (1970s) by Guy L. Steele, Jr. and Gerald Jay Sussman|https://en.wikisource.org/wiki/Lambda_Papers]]
[[CS Statistics]]
| Event | Nanoseconds | Microseconds | Milliseconds | Comparison |
| L1 cache reference | 0.5 | - | - | - |
| Branch mispredict | 5.0 | - | - | - |
| L2 cache reference | 7.0 | - | - | 14x L1 cache |
| Mutex lock/unlock | 25.0 | - | - | - |
| Main memory reference | 100.0 | - | - | 20x L2 cache, 200x L1 cache |
| Compress 1K bytes with Zippy | 3,000.0 | 3 | - | - |
| Send 1K bytes over 1 Gbps network | 10,000.0 | 10 | - | - |
| Read 4K randomly from SSD | 150,000.0 | 150 | - | ~1GB/sec SSD |
| Read 1 MB sequentially from memory | 250,000.0 | 250 | - | - |
| Round trip within same datacenter | 500,000.0 | 500 | - | - |
| Read 1 MB sequentially from SSD | 1,000,000.0 | 1,000 | 1 | ~1GB/sec SSD, 4X memory |
| Disk seek | 10,000,000.0 | 10,000 | 10 | 20x datacenter roundtrip |
| Read 1 MB sequentially from disk | 20,000,000.0 | 20,000 | 20 | 80x memory, 20X SSD |
| Send packet CA → Netherlands → CA | 150,000,000.0 | 150,000 | 150 | - |
```
1 ns = 10^-9 seconds
1 us = 10^-6 seconds = 1,000 ns
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
```
[img[https://camo.githubusercontent.com/77f72259e1eb58596b564d1ad823af1853bc60a3/687474703a2f2f692e696d6775722e636f6d2f6b307431652e706e67]]
[[Redis latency problems troubleshooting]]
! Sumary
有超过25%的key在同一秒过期,Redis会block,一直删key直到下降到25%以下。
一般不会有这么多key同时过期,除非用EXPIREAT指定key具体时间过期。
!! Query
```bash
~$ redis-cli -h abc.com -p 10281 cluster nodes | grep master | awk '{print $2}' |
awk -F ':' '{print $1}' | xargs -I {} bash -c "redis-cli -h {} info stats | grep -E 'expire|evict|key' && echo '-----------------------------'"
```
'' if the database has many many keys expiring in the same second, and these make up at least 25% of the current population of keys with an expire set, Redis can block in order to get the percentage of keys already expired below 25%''
!! evict ways
Redis evict expired keys in two ways:
*One lazy way expires a key when it is requested by a command, but it is found to be already expired.
*One active way expires a few keys every 100 milliseconds.
Given that ACTIVE_EXPIRE_CYCLE_LOOKUPS_PER_LOOP is set to 20 by default, and the process is performed ten times per second, usually just 200 keys per second are actively expired.
[[OSI model]]
The physical layer is responsible for the transmission and reception of unstructured raw data between a device and a physical transmission medium.
[[OSI model]]
This layer is the protocol layer that transfers data between nodes on a network segment across the [[Layer 1: Physical Layer]].
The [[Layer 2: Data Link Layer]] provides the functional and procedural means to transfer data between network entities and might provide the means to detect and possibly correct errors that may occur in the [[Layer 1: Physical Layer]]
[[OSI model]]
The network layer is responsible for packet forwarding including routing through intermediate routers
[[OSI model]]
The protocols of this layer provide host-to-host communication services for applications
It provides services such as connection-oriented communication, reliability, flow control, and multiplexing.
[[OSI model]]
The session layer provides the mechanism for opening, closing and managing a session between end-user application processes, i.e., a semi-permanent dialogue.
[[Environment variables]]
[[LD_PRELOAD: The Hero We Need and Deserve|https://blog.jessfraz.com/post/ld_preload/]]
[[LD_PRELOAD is super fun. And easy!|https://jvns.ca/blog/2014/11/27/ld-preload-is-super-fun-and-easy/]]
LD_PRELOAD allows you to override symbols in any library by specifying your new function in a shared object.
When you run `LD_PRELOAD=/path/to/my/free.so /bin/mybinary`, `/path/to/my/free.so` is loaded before any other library, including libc. When mybinary is executed, it uses your custom function for free.
[[Algorithm And Data Structure]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Liberal arts' sort[ind]>>
</div>
This plugin [[libnetwork-plugin|https://github.com/projectcalico/libnetwork-plugin]] for Docker networking (libnetwork) is intended for use with Project [[Calico]]
. For Calico's Kubernetes integration, see the CNI plugin.
[[Compiler]]
In computing, a linker or link editor is a computer system program that takes one or more object files (generated by a compiler or an assembler) and combines them into a single executable file, library file, or another "object" file.
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Linux' sort[ind]>>
</div>
[[Linux Bootup]]
[[Linux系统启动时的getrandom随机数系统调用阻塞问题|https://gmd20.github.io/blog/Linux%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E6%97%B6%E7%9A%84getrandom%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8%E9%98%BB%E5%A1%9E%E9%97%AE%E9%A2%98/]]
[[Linux Performance Tools]]
* `yes > /dev/null&` : 消耗cpu资源
** `yes`: Output something repeatedly.
* `tail /dev/zero`: 消耗mem
** `/dev/zero` provides an endless stream of zero bytes when read.
[[Linux Performance Tools]]
[[Linux IO multiplexing]]
[[如果这篇文章说不清epoll的本质,那就过来掐死我吧!|https://zhuanlan.zhihu.com/p/63179839]]
The epoll API performs a similar task to poll(2): monitoring multiple file descriptors to see if I/O is possible on any of them.
epoll 监听的 fd(file descriptor)集合是常驻内核的,它有 3 个系统调用 (epoll_create, epoll_wait, epoll_ctl),通过 epoll_wait 可以多次监听同一个 fd 集合,只返回可读写那部分
!! 措施一:功能分离
[[Linux select]] 低效的原因之一是将“维护等待队列”和“阻塞进程”两个步骤合二为一。
如下图所示,每次调用select都需要这两步操作
然而大多数应用场景中,需要监视的socket相对固定,并不需要每次都修改。epoll将这两个操作分开,先用epoll_ctl维护等待队列,再调用epoll_wait阻塞进程。显而易见的,效率就能得到提升。
[img[https://pic2.zhimg.com/80/v2-5ce040484bbe61df5b484730c4cf56cd_1440w.jpg]]
如下的代码中,先用epoll_create创建一个epoll对象epfd,再通过epoll_ctl将需要监视的socket添加到epfd中,最后调用epoll_wait等待数据。
```cpp
int s = socket(AF_INET, SOCK_STREAM, 0);
bind(s, ...)
listen(s, ...)
int epfd = epoll_create(...);
epoll_ctl(epfd, ...); //将所有需要监听的socket添加到epfd中
while(1){
int n = epoll_wait(...)
for(接收到数据的socket){
//处理
}
}
```
!! 措施二:就绪列表
select低效的另一个原因在于程序不知道哪些socket收到数据,只能一个个遍历。如果内核维护一个“就绪列表”,引用收到数据的socket,就能避免遍历。如下图所示,计算机共有三个socket,收到数据的sock2和sock3被rdlist(就绪列表)所引用。当进程被唤醒后,只要获取rdlist的内容,就能够知道哪些socket收到数据。
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Linux File System' sort[ind]>>
</div>
[[Linux]]
IO多路复用的意思是在一个操作里同时监听多个输入输出源,在其中一个或多个输入输出源可用的时候返回,然后对其的进行读写操作。
[img[https://pic1.zhimg.com/80/v2-e6a869884585625dfc7eace1b90c3024_1440w.png]]
Linux中基于socket的通信本质也是一种I/O,使用socket()函数创建的套接字默认都是阻塞的,这意味着当sockets API的调用不能立即完成时,线程一直处于等待状态,直到操作完成获得结果或者超时出错。会引起阻塞的socket API分为以下四种:
*输入操作: recv()、recvfrom()。以阻塞套接字为参数调用该函数接收数据时,如果套接字缓冲区内没有数据可读,则调用线程在数据到来前一直睡眠。
*输出操作: send()、sendto()。以阻塞套接字为参数调用该函数发送数据时,如果套接字缓冲区没有可用空间,线程会一直睡眠,直到有空间。
*接受连接:accept()。以阻塞套接字为参数调用该函数,等待接受对方的连接请求。如果此时没有连接请求,线程就会进入睡眠状态。
*外出连接:connect()。对于TCP连接,客户端以阻塞套接字为参数,调用该函数向服务器发起连接。该函数在收到服务器的应答前,不会返回。这意味着TCP连接总会等待至少服务器的一次往返时间。
[[Linux Kernel]]
`lsmod`: Shows the status of linux kernel modules.
See also `modprobe`, which loads kernel modules.
[[Linux Network]]
[img[https://pic4.zhimg.com/80/v2-696b131cae434f2a0b5ab4d6353864af_1440w.jpg]]
进程在recv阻塞期间:
# 计算机收到了对端传送的数据
# 数据经由网卡传送到内存
# 然后网卡通过中断信号通知cpu有数据到达,cpu执行中断程序
# 此处的中断程序主要有两项功能,先将网络数据写入到对应socket的接收缓冲区里面
# 再唤醒进程A,重新将进程A放入工作队列中。
[[Linux File System]]
A loop device is a pseudo ("fake") device (actually just a file) that acts as a block-based device.
The loop device is a block device that maps its data blocks not to a physical
device such as a hard disk or optical disk drive, but to the blocks of a regu‐
lar file in a filesystem or to another block device. This can be useful for
example to provide a block device for a filesystem image stored in a file, so
that it can be mounted with the mount(8) command. You could do
```bash
$ dd if=/dev/zero of=file.img bs=1MiB count=10
$ sudo losetup /dev/loop4 file.img
$ sudo mkfs -t ext4 /dev/loop4
$ sudo mkdir /myloopdev
$ sudo mount /dev/loop4 /myloopdev
```
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Linux Memory Management' sort[ind]>>
</div>
[[Linux Performance Tools]]
* [[pmap - report memory map of a process]]
[[Linux Performance Tools]]
[[Linux]]
[[Netflix: Linux Performance Analysis in 60,000 Milliseconds|https://netflixtechblog.com/linux-performance-analysis-in-60-000-milliseconds-accc10403c55]]
[img[http://www.brendangregg.com/Perf/linux_perf_tools_full.png]]
[[Linux Performance Tools]]
[[interprocess communication (IPC)]]
A unidirectional data channel using standard input and output.
Data written to the write-end of the pipe is buffered by the operating system until it is read from the read-end of the pipe.
Two-way communication between processes can be achieved by using two pipes in opposite "directions".
[[Linux IO multiplexing]]
! poll, ppoll - wait for some event on a file descriptor
poll() performs a similar task to select(2): it waits for one of a set of file descriptors to become ready to perform I/O.
[[Process]]
<div class="box">
"""
By contrast with [[fork]], these system calls provide more precise
control over what pieces of execution context are shared between the
calling process and the child process.
For example, using these
system calls, the caller can control whether or not the two processes
share the virtual address space, the table of file descriptors, and
the table of signal handlers. These system calls also allow the new
child process to be placed in separate namespaces(7)
"""
</div>
[[Linux IO multiplexing]]
select() and pselect() allow a program to ''monitor multiple file descriptors, waiting until one or more of the file descriptors become "ready" for some class of I/O operation'' (e.g., input possible).
A file descriptor is consid‐
ered ready if it is possible to perform a corresponding I/O operation (e.g., read(2) without blocking, or a sufficiently small write(2)).
假如能够预先传入一个socket列表,如果列表中的socket都没有数据,挂起进程,直到有一个socket收到数据,唤醒进程。这种方法很直接,也是select的设计思想。
在如下的代码中,先准备一个数组(下面代码中的fds),让fds存放着所有需要监视的socket。然后调用select,如果fds中的所有socket都没有数据,select会阻塞,直到有一个socket接收到数据,select返回,唤醒进程。用户可以遍历fds,通过FD_ISSET判断具体哪个socket收到数据,然后做出处理。
```cpp
int s = socket(AF_INET, SOCK_STREAM, 0);
bind(s, ...)
listen(s, ...)
int fds[] = 存放需要监听的socket
while(1){
int n = select(..., fds, ...)
for(int i=0; i < fds.count; i++){
if(FD_ISSET(fds[i], ...)){
//fds[i]的数据处理
}
}
}
```
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Linux Software' sort[ind]>>
</div>
[[TCP(Transmission Control Protocol)]]
[[Linux Performance Tools]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Linux TCP tools' sort[ind]>>
</div>
[[Dynamic linking]]
The programs `ld.so` and `ld-linux.so*` find and load the shared objects (shared libraries) needed by a program, prepare the program to run, and then run it.
The dynamic linker can be run:
* either indirectly by running some dynamically linked program
* or shared object (in which case no command-line options to the dynamic linker can be passed and, in the ELF case, the dynamic linker which is stored in the `.interp` section of the program is executed)
* or directly by running: `/lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUMENTS]]`
---
*`/lib/ld.so`: a.out dynamic linker/loader
*`/lib/ld-linux.so.{1,2}`: ELF dynamic linker/loader
*`/etc/ld.so.cache`: File containing a compiled list of directories in which to search for shared objects and an ordered list of candidate shared objects.
*`/etc/ld.so.preload`: File containing a whitespace-separated list of ELF shared objects to be loaded before the program.
* `/etc/ld.so.nohwcap`: When this file is present the dynamic linker will load the non-optimized version of a library, even if the CPU supports the optimized version.
[[Linux Performance Tools]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Linux Trace Tools' sort[ind]>>
</div>
[[Linux Performance Tools]]
```bash
$ uptime
02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88
```
最后三个数字,依次则是过去 1 分钟、5 分钟、15 分钟的[[平均负载(Load Average)]]
[[Linux Performance Tools]]
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'LinuxTips' sort[ind]>>
</div>
[[Linux TCP]]
listen - listen for connections on a socket
`int listen(int sockfd, int backlog);`
!! The behavior of the backlog argument on TCP sockets changed with Linux 2.2.
Now it specifies ''the queue length for completely established sockets waiting to be accepted'', instead of the number of incomplete connection requests.
`man listen`
`/proc/sys/net/core/somaxconn`: Limit of socket listen() backlog, known in userspace as SOMAXCONN. Defaults to 128.
[[ since Linux 5.4 it was increased to 4096|https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=19f92a030ca6d772ab44b22ee6a01378a8cb32d4]]
[[Computer network types by spatial scope]]
A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building.
[[Replication Logs]]
An alternative is to use different log formats for replication and for the storage engine, which allows the replication log to be decoupled from the storage engine internals.
与[[write-ahead log(WAL) shipping(传输预写式日志)]]相比,就是抽象出逻辑日志。
[[CPU(CentralProcessingUnit)]]
在同一个物理核内,逻辑层面的核。(比喻,像动画片一样,我们看到的“动画”,其实是一帧一帧静态的画面,24帧/s连起来就骗过了人类的眼睛,看起来像动起来一样。逻辑核也一样,物理核通过高速运算,让应用程序以为有两个cpu在运算)。
[[Network Interfaces]]
<<<.tc-big-quote
The Internet Protocol (IP) specifies a loopback network with the (IPv4) address 127.0.0.0/8.
Most IP implementations support a loopback interface (lo0) to represent the loopback facility.
Any traffic that a computer program sends on the loopback network is addressed to the same computer.
The most commonly used IP address on the loopback network is 127.0.0.1 for IPv4 and ::1 for IPv6. The standard domain name for the address is localhost.
[[Data Structure]]
哈希表 + 双向链表
* 双向链表按照被使用的顺序存储了这些键值对,靠近头部的键值对是最近使用的,而靠近尾部的键值对是最久未使用的。
*哈希表即为普通的哈希映射(HashMap),通过缓存数据的键映射到其在双向链表中的位置。
```CPP
struct DLinkedNode {
int key, value;
DLinkedNode* prev;
DLinkedNode* next;
DLinkedNode(): key(0), value(0), prev(nullptr), next(nullptr) {}
DLinkedNode(int _key, int _value): key(_key), value(_value), prev(nullptr), next(nullptr) {}
};
class LRUCache {
private:
unordered_map<int, DLinkedNode*> cache;
DLinkedNode* head;
DLinkedNode* tail;
int size;
int capacity;
public:
LRUCache(int _capacity): capacity(_capacity), size(0) {
// 使用伪头部和伪尾部节点
head = new DLinkedNode();
tail = new DLinkedNode();
head->next = tail;
tail->prev = head;
}
int get(int key) {
if (!cache.count(key)) {
return -1;
}
// 如果 key 存在,先通过哈希表定位,再移到头部
DLinkedNode* node = cache[key];
moveToHead(node);
return node->value;
}
void put(int key, int value) {
if (!cache.count(key)) {
// 如果 key 不存在,创建一个新的节点
DLinkedNode* node = new DLinkedNode(key, value);
// 添加进哈希表
cache[key] = node;
// 添加至双向链表的头部
addToHead(node);
++size;
if (size > capacity) {
// 如果超出容量,删除双向链表的尾部节点
DLinkedNode* removed = removeTail();
// 删除哈希表中对应的项
cache.erase(removed->key);
// 防止内存泄漏
delete removed;
--size;
}
}
else {
// 如果 key 存在,先通过哈希表定位,再修改 value,并移到头部
DLinkedNode* node = cache[key];
node->value = value;
moveToHead(node);
}
}
void addToHead(DLinkedNode* node) {
node->prev = head;
node->next = head->next;
head->next->prev = node;
head->next = node;
}
void removeNode(DLinkedNode* node) {
node->prev->next = node->next;
node->next->prev = node->prev;
}
void moveToHead(DLinkedNode* node) {
removeNode(node);
addToHead(node);
}
DLinkedNode* removeTail() {
DLinkedNode* node = tail->prev;
removeNode(node);
return node;
}
};
```
[[Linux Trace Tools]]
```bash
$: ltrace ls
malloc(552) = 0x1013010
malloc(120) = 0x1013240
malloc(1024) = 0x10132c0
free(0x10132c0) = <void>
free(0x1013010) = <void>
__libc_start_main(0x402a00, 1, 0x7ffc1b42bcd8, 0x413bb0 <unfinished ...>
strrchr("ls", '/') = nil
setlocale(LC_ALL, "" <unfinished ...>
malloc(5) = 0x1013010
free(0x1013010) = <void>
malloc(120) = 0x1013030
```
[[Build automation]]
> In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program.
Makefile由一组规则(Rule)组成,每条规则的格式是:
```
target ... : prerequisites ...
command1
command2
...
```
例如:
```
main: main.o stack.o maze.o
gcc main.o stack.o maze.o -o main
```
<div class="box">
"""
main是这条规则的目标(Target),main.o、stack.o和maze.o是这条规则的条件(Prerequisite)。目标和条件之间的关系是:欲更新目标,必须首先更新它的所有条件;所有条件中只要有一个条件被更新了,目标也必须随之被更新。所谓“更新”就是执行一遍规则中的命令列表,命令列表中的每条命令必须以一个Tab开头,注意不能是空格,Makefile的格式不像C语言的缩进那么随意,对于Makefile中的每个以Tab开头的命令,make会创建一个Shell进程去执行它。
对于上面这个例子,make执行如下步骤:
尝试更新Makefile中第一条规则的目标main,第一条规则的目标称为缺省目标,只要缺省目标更新了就算完成任务了,其它工作都是为这个目的而做的。由于我们是第一次编译,main文件还没生成,显然需要更新,但规则说必须先更新了main.o、stack.o和maze.o这三个条件,然后才能更新main。
所以make会进一步查找以这三个条件为目标的规则,这些目标文件也没有生成,也需要更新,所以执行相应的命令(gcc -c main.c、gcc -c stack.c和gcc -c maze.c)更新它们。
最后执行gcc main.o stack.o maze.o -o main更新main。
"""
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Management' sort[ind]>>
</div>
If [[Linux the dynamic linker(ld.so/ld-linux.so)]] were deleted, `ls`, `cp` can not works.
Check this:
```bash
# ldd /bin/ls
linux-vdso.so.1 => (0x00007ffda01e5000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f6f0a364000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6f09f9a000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f6f09d2a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6f09b26000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6f0a586000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6f09909000)
ldd /bin/cp
linux-vdso.so.1 => (0x00007ffd407f5000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f496346f000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f4963267000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f4963062000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4962c98000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f4962a28000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4962824000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4963691000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4962607000)
```
[[Math]]
Mathematical logic is a subfield of mathematics exploring the applications of formal logic to mathematics.
[[Capacity estimation and constraints]]
[[DP questions category]]
------
Generate problem statement for this pattern
### Statement,问题描述
> Given a set of numbers find an optimal solution for a problem considering the current number and the best you can get from the left and right sides.
### Approach,解法方法
> Find all optimal solutions for every interval and return the best possible answer.
```text
// from i to j
dp[i][j] = dp[i][k] + result[k] + dp[k+1][j]
```
Get the best from the left and right sides and add a solution for the current position.
```text
for(int l = 1; l<n; l++) {
for(int i = 0; i<n-l; i++) {
int j = i+l;
for(int k = i; k<j; k++) {
dp[i][j] = max(dp[i][j], dp[i][k] + result[k] + dp[k+1][j]);
}
}
}
return dp[0][n-1]
```
### Similar Problems,类似问题
[1130. Minimum Cost Tree From Leaf Values](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-cost-tree-from-leaf-values/) `Medium`
```text
for (int l = 1; l < n; ++l) {
for (int i = 0; i < n - l; ++i) {
int j = i + l;
dp[i][j] = INT_MAX;
for (int k = i; k < j; ++k) {
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k+1][j] + maxs[i][k] * maxs[k+1][j]);
}
}
}
```
[96. Unique Binary Search Trees](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/unique-binary-search-trees/) `Medium`
[1039. Minimum Score Triangulation of Polygon](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-score-triangulation-of-polygon/) `Medium`
[546. Remove Boxes](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/remove-boxes/) `Medium`
[1000. Minimum Cost to Merge Stones](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-cost-to-merge-stones/) `Medium`
[312. Burst Balloons](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/burst-balloons/) `Hard`
[375. Guess Number Higher or Lower II](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/guess-number-higher-or-lower-ii/) `Medium`
[[Note]]
[One of the benefits is that it is easier and cheaper to check the integrity of the partial data when we use a Merkel tree.](https://learning.oreilly.com/library/view/hands-on-blockchain-for/9781788627856/665690d5-116d-47e9-a18a-410a49ddcad8.xhtml)

> If you use a naive approach, you need to download all the hashes of the data (Data 1 to Data 8) and the Root Hash. In this example, we only have eight pieces of data. Imagine if we had 100 and you had to download the entire dataset. Merkle trees makes this process more efficient because we don't need to download the full set of data.
[[Backend]]
[[how to metric|https://medium.com/@djsmith42/how-to-metric-edafaf959fc7]]
[[DP questions category]]
到底目标通过一条最大或是最小的条件路径
## Minimum (Maximum) Path to Reach a Target: 到底目标通过一条最大或是最小的条件路径
### Statement
Given a target find minimum (maximum) cost / path / sum to reach the target.
!!! Apporach
Choose minimum (maximum) path among all possible paths before the current state, then add value for the current state.
`routes[i] = min(routes[i-1], routes[i-2], ... , routes[i-k]) + cost[i]`
```cpp
for (int i = 1; i <= target; ++i) {
for (int j = 0; j < ways.size(); ++j) {
if (ways[j] <= i) {
dp[i] = min(dp[i], dp[i - ways[j]]) + cost / path / sum;
}
}
}
return dp[target]
```
### Similar Problems,其他类似的问题还有:
[746. Min Cost Climbing Stairs](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/min-cost-climbing-stairs/) `Easy`
```cpp
for (int i = 2; i <= n; ++i) {
dp[i] = min(dp[i-1], dp[i-2]) + (i == n ? 0 : cost[i]);
}
return dp[n]
```
[64. Minimum Path Sum](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-path-sum/) `Medium`
```cpp
for (int i = 1; i < n; ++i) {
for (int j = 1; j < m; ++j) {
grid[i][j] = min(grid[i-1][j], grid[i][j-1]) + grid[i][j];
}
}
return grid[n-1][m-1]
```
[322. Coin Change](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/coin-change/) `Medium`
```cpp
for (int j = 1; j <= amount; ++j) {
for (int i = 0; i < coins.size(); ++i) {
if (coins[i] <= j) {
dp[j] = min(dp[j], dp[j - coins[i]] + 1);
}
}
}
```
[931. Minimum Falling Path Sum](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-falling-path-sum/) `Medium`
[983. Minimum Cost For Tickets](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-cost-for-tickets/) `Medium`
[650. 2 Keys Keyboard](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/2-keys-keyboard/) `Medium`
[279. Perfect Squares](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/perfect-squares/) `Medium`
[1049. Last Stone Weight II](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/last-stone-weight-ii/) `Medium`
[120. Triangle](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/triangle/) `Medium`
[474. Ones and Zeroes](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/ones-and-zeroes/) `Medium`
[221. Maximal Square](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/maximal-square/) `Medium`
[322. Coin Change](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/coin-change/) `Medium`
[1240. Tiling a Rectangle with the Fewest Squares](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/tiling-a-rectangle-with-the-fewest-squares/) `Hard`
[174. Dungeon Game](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/dungeon-game/) `Hard`
[871. Minimum Number of Refueling Stops](https://link.zhihu.com/?target=https%3A//leetcode.com/problems/minimum-number-of-refueling-stops/) `Hard`
[[File&IO]]
<div class="box">
"""
mmap可以把磁盘文件的一部分直接映射到内存,这样文件中的位置直接就有对应的内存地址,对文件的读写可以直接用指针来做而不需要read/write函数。
void *mmap(void *addr, size_t len, int prot, int flag, int filedes, off_t off);
int munmap(void *addr, size_t len);
[img[http://akaedu.github.io/book/images/io.mmap.png]]
"""
</div>
* 如果addr参数为NULL,内核会自己在进程地址空间中选择合适的地址建立映射。
* 如果addr不是NULL,则给内核一个提示,应该从什么地址开始映射,内核会选择addr之上的某个合适的地址开始映射。
建立映射后,真正的映射首地址通过返回值可以得到。
len参数是需要映射的那一部分文件的长度。off参数是从文件的什么位置开始映射,必须是页大小的整数倍(在32位体系统结构上通常是4K)。filedes是代表该文件的描述符。
!! 映射共享库
mmap函数的底层也是一个系统调用,在执行程序时经常要用到这个系统调用来映射共享库到该进程的地址空间。
```
#include <stdio.h>
int main(void)
{
printf("hello world\n");
return 0;
}
```
用strace命令执行该程序,跟踪该程序执行过程中用到的所有系统调用的参数及返回值:
```
$ strace ./a.out
execve("./a.out", ["./a.out"], [/* 38 vars */]) = 0
brk(0) = 0x804a000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fca000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=63628, ...}) = 0
mmap2(NULL, 63628, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fba000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260a\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1339816, ...}) = 0
mmap2(NULL, 1349136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e70000
mmap2(0xb7fb4000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x143) = 0xb7fb4000
mmap2(0xb7fb7000, 9744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fb7000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e6f000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e6f6b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7fb4000, 4096, PROT_READ) = 0
munmap(0xb7fba000, 63628) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc9000
write(1, "hello world\n", 12hello world
) = 12
exit_group(0) = ?
Process 8572 detached
```
可以看到,执行这个程序要映射共享库/lib/tls/i686/cmov/libc.so.6到进程地址空间。也可以看到,printf函数的底层确实是调用write。
[[Static analysis]]
suffers from the state-explosion problem: as
the size of the system grows, the computational power required to verify systems grows
beyond the capabilities of state-of-the-art computers.
[[Algorithm And Data Structure]]
In computer science, and more specifically in computability theory and computational complexity theory, [[Model of computation|https://www.wikiwand.com/en/Model_of_computation]] is a model which describes how an output of a mathematical function is computed given an input.
[[replicating algorithms]]
在单个数据中心内部使用多个主库很少是有意义的,因为好处很少超过复杂性的代价
[[DB Concurrency control]]
Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.
MVCC 由于其出色的性能优势,而被越来越多的数据库所采用,比如Oracle、PostgreSQL、MySQL InnoDB、etcd 等。它的基本思想是保存一个数据的多个历史版本,从而解决事务管理中数据隔离的问题。
这里的版本一般选择使用时间戳或事务 ID 来标识。在处理一个写请求时,MVCC 不是简单的用新值覆盖旧值,而是为这一项添加一个新版本的数据。在读取一个数据项时,要先确定一个要读取的版本,然后根据版本找到对应的数据。这种写操作创建新版本,读操作访问旧版本的方式使得读写操作彼此隔离,他们之间就不需要用锁来协调。换句话说,在 MVCC 里读操作永远不会被阻塞,因此它特别适合 etcd 这种读操作比较多的场景。
[[Secure Shell (SSH)]]
```bash
Host *
User ld-yonghao_hu
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
ForwardAgent yes
PermitLocalCommand yes
Match exec "test ${t:-1} = 1" host *,!git.garena.com,!github.com
RequestTTY yes
LocalCommand scp ~/.server.tmux.conf %n:~/
RemoteCommand tmux -f ~/.server.tmux.conf new-session -A -D -s $(tr . _ < <(echo %n))
```
[[ARP(Address Resolution Protocol)]]
In /var/log/message you see the following record: `kernel: Neighbour table overflow`.
ARP table size:
```bash
sysctl -a |&grep "neigh.default.gc_thresh"
===
# The minimum number of entries to keep in the ARP cache. The garbage collector will
# not run if there are fewer than this number of entries in the cache.
net.ipv4.neigh.default.gc_thresh1 = 128
# The soft maximum number of entries to keep in the ARP cache. The garbage collector will
# allow the number of entries to exceed this for 5 seconds before collection will be performed.
net.ipv4.neigh.default.gc_thresh2 = 512
# The hard maximum number of entries to keep in the ARP cache. The garbage collector will
# always run if there are more than this number of entries in the cache.
net.ipv4.neigh.default.gc_thresh3 = 1024
```
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Network' sort[ind]>>
</div>
[[Layer 4: Transport layer]]
A network socket is a software structure within a network node of a computer network that serves as an endpoint for sending and receiving data across the network. The structure and properties of a socket are defined by an application programming interface (API) for the networking architecture. Sockets are created only during the lifetime of a process of an application running in the node.
[img width=999 [https://akaedu.github.io/book/images/socket.tcpflowchart.png]]
Neuroscience (or neurobiology) is the scientific study of the nervous system
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Neuroscience' sort[ind]>>
</div>
[[Nginx]] 中, sites-available 是放所有vhosts的配置文件, 而sites-enable 则是放你想要开启能够被访问的 vhost 文件, 一般是建立一个sites-available 对应的文件的[[symlink(软链接)]]. 这样子做的好处是, 想关闭此 vhost 的访问时, 可以删除软连接即可, 恢复时重新创建, 可以避免把文件移来移去或者作备份等.
[[Build automation]]
Ninja is a small build system with a focus on speed.
Ninja is used to build Google Chrome, parts of Android, LLVM, and can be used in many other projects due to CMake's Ninja backend.
[[ELF Section]]
There are many other sections that are needed by linkers, debuggers, and other such tools, but which are not needed by the running program. These are said to be non-allocable.
[[Finite state machines(FSM) / finite-state automaton (FSA)]]
[[Database]]
NoSQL databases (aka "not only SQL") are non tabular, and store data differently than relational tables. NoSQL databases come in a variety of types based on their data model. The main types are document, key-value, wide-column, and graph. They provide flexible schemas and scale easily with large amounts of data and high user loads.
[[Golang pitfalls]]
[[What happens with closures running as goroutines?|https://golang.org/doc/faq#closures_and_goroutines]]
```golang
func main() {
done := make(chan bool)
values := []string{"a", "b", "c"}
for _, v := range values {
go func() {
fmt.Println(v)
done <- true
}()
}
// wait for all goroutines to complete before exiting
for _ = range values {
<-done
}
}
```
One might mistakenly expect to see a, b, c as the output. What you'll probably see instead is c, c, c. This is because each iteration of the loop uses the same instance of the variable v, so each closure shares that single variable. When the closure runs, it prints the value of v at the time fmt.Println is executed, but v may have been modified since the goroutine was launched.
[[Health]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Nutrition' sort[ind]>>
</div>
[[Out Of Memory Management]]
* total_vm: Virtual memory use (in 4 kB pages, *4KB)
* rss: Resident memory use (in 4 kB pages)
* nr_ptes: Page table entries
* swapents: Page table entries
* oom_score_adj: Usually, 0. A lower number indicates the process will be less likely to die when the OOM killer is invoked.
[[VPN(Virtual private network)]]
OpenVPN 会新建一个 [[TUN(network TUNnel)]] ,改写本地ip route,都导向此网卡。
经过此网卡的流量都会由OpenVPN接受,然后通过socket发给远端的服务器。
[[Concurrency control]]
乐观锁:在[关系数据库管理系统](https://www.wikiwand.com/zh-hans/关系数据库管理系统)里,**乐观并发控制**(又名 “**乐观锁**”,Optimistic Concurrency Control,缩写 “OCC”)是一种[并发控制](https://www.wikiwand.com/zh-hans/并发控制)的方法。它假设多用户并发的[事务](https://www.wikiwand.com/zh-hans/数据库事务)在处理时不会彼此互相影响,各事务能够在不产生锁的情况下处理各自影响的那部分数据。在提交数据更新之前,每个事务会先检查在该事务读取数据后,有没有其他事务又修改了该数据。如果其他事务有更新的话,正在提交的事务会进行[回滚](https://www.wikiwand.com/zh-hans/回滚_(SQL))
OS-level virtualization refers to an [[OS]] paradigm in which the kernel allows the existence of multiple isolated user space instances.
On Unix-like operating systems, this feature can be seen as an advanced implementation of the standard chroot mechanism, which changes the apparent root folder for the current running process and its children. In addition to isolation mechanisms, the kernel often provides resource-management features to limit the impact of one container's activities on other containers.
[[Network]]
The Open Systems Interconnection model (OSI model) is a conceptual model that characterises and standardises the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology.
In a modern enterprise or public cloud network, the layers commonly map as follows:
*L5-7: all the protocols most application developers are familiar with. e.g. HTTP, FTP, SSH, SSL, DNS.
*L4: TCP or UDP, including source and destination ports.
*L3: IP packets and IP routing.
*L2: Ethernet packets and Ethernet switching.
<div class="tc-table-of-contents">
<<toc-selective-expandable 'OSI model' sort[ind]>>
</div>
[[Linux Memory Management]]
[[Out Of Memory Management|https://www.kernel.org/doc/gorman/html/understand/understand016.html]]
#check if there is enough available memory to satisfy
# verify that the system is truely out of memory
#* Is there enough swap space left (nr_swap_pages > 0) ? If yes, not OOM
#* Has it been more than 5 seconds since the last failure? If yes, not OOM
#* Have we failed within the last second? If no, not OOM
#* If there hasn't been 10 failures at least in the last 5 seconds, we're not OOM
#* Has a process been killed within the last 5 seconds? If yes, not OOM
# if so, select a process to kill
#* select a process that is using a large amount of memory but is not that long lived: `badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_minutes)))`
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Out Of Memory Management' sort[ind]>>
</div>
[[NetworkVirtualization]]
An overlay network allows network devices to communicate across an underlying network (referred to as the underlay) without the underlay network having any knowledge of the devices connected to the overlay network.
<div class="box">
"""
Overlay networking (aka SDN overlay) is a method of using software to create layers of network abstraction that can be used to run multiple separate, discrete virtualized network layers on top of the physical network, often providing new applications or security benefits.
An overlay network is a telecommunications network that is built on top of another network and is supported by its infrastructure. An overlay network decouples network services from the underlying infrastructure by encapsulating one packet inside of another packet.
"""
</div>
[[The Linux Storage Stack]]
<div class="box">
"""
A page cache, sometimes also called disk cache, is a transparent cache for the pages originating from a secondary storage device such as a hard disk drive (HDD) or a solid-state drive (SSD).
The operating system keeps a page cache in otherwise unused portions of the main memory (RAM), resulting in quicker access to the contents of cached pages and overall performance improvements.
A page cache is implemented in kernels with the paging memory management, and is mostly transparent to applications.
"""
</div>
<<<.tc-big-quote
The Page Cache
The page cache is the main disk cache used by the Linux kernel. In most cases, the kernel refers to the page cache when reading from or writing to disk. New pages are added to the page cache to satisfy User Mode processes’s read requests. If the page is not already in the cache, a new entry is added to the cache and filled with the data read from the disk.'' If there is enough free memory, the page is kept in the cache for an indefinite period of time and can then be reused by other processes without accessing the disk.''
Similarly, before writing a page of data to a block device, the kernel verifies whether the corresponding page is already included in the cache; if not, a new entry is added to the cache and filled with the data to be written on disk. The I/O data transfer does not start immediately: the disk update is delayed for a few seconds, thus giving a chance to the processes to further modify the data to be written (in other words, the kernel implements deferred write operations).
<<<
[[Resources]]
[[Papers]]
* 有展示自己领域的一个漂亮的idea的(Reflections on Trusting Trust)
* 有总结自己所在领域的(Principles for Computer System Design)
* 有当场开创新领域的(Can programming be liberated from the von Neumann style?)
* 有对编程跟设计做出foundational comment的(The humble programmer, The Emperor’s Old Clothes)
* 还有让我们rethink computer的(The Computer Revolution Hasnt Happened Yet)
* Richard Hamming写了本教你如何规划学术生涯的书(The Art of doing science and engineering)
* Dijkstra的一生所著被整理进了EWD Archive,里面的精品除了The Humble Programmer,还有A case against the GO TO statement,Programming considered as a human activity,On the cruelty of really teaching computing science
* Alan Kay则每过一段时间发个视频上youtube(Power of Simplicity)
* 在编程语言领域,History of Programming Languages 把这半世纪的杰出的编程语言设计者的见解汇集在一起
* Dealers of Lightning 跟The Dream Machine 则描述了改变了世界的Xerox Parc的文化。
如果你看的paper足够多,你可以从里面倒推出一个researcher的taste:比如John Reynold就很软,能把多种风格混合在一起(https://zhuanlan.zhihu.com/p/42907876),同时能在很脏的领域做出严谨的工作(Seprational Logic)
如果嫌这些人都是上世纪的,很多成功人士也有blog,教你如何做research,如何申请大学,如何规划career,还有自己领域的见解:http://www.pgbovine.net/,https://programanalysis.blogspot.com/,https://existentialtype.wordpress.com/,http://worrydream.com/,http://matt.might.net/
作者:圆角骑士魔理沙
链接:https://www.zhihu.com/question/304752391/answer/699930080
[[HTTP2]]
[[Passive Fingerprinting of HTTP/2 Clients|https://www.akamai.com/uk/en/multimedia/documents/white-paper/passive-fingerprinting-of-http2-clients-white-paper.pdf]]
!! Setting
| Params | PDF | Chrome(Ubuntu 18.04.5 LTS )| go client| my client |
| SETTINGS_HEADER_TABLE_SIZE(0x01)| 65536 | 65536 | None | 65536 |
| SETTINGS_MAX_CONCURRENT_STREAMS(0x03) | 1000 | 1000 | 100 | 1000 |
| SETTINGS_INITIAL_WINDOW_SIZE(0x04) | 6291456 | 6291456 | 4194304 | 6291456 |
| (WU)window_size_increment | 15663105 | 15663105 | 1073741824| 15663105 |
!! Request Pseudo-Header Fields Order
|Client / Implementation | Pseudo Headers Name Order |
| Google Chrome (58.0.3029.110 on Mac OS X) | :method, :authority, :scheme, :path |
[[Password Hashing]]
Argon2 is winner of [[Password Hashing Competition|https://www.password-hashing.net]]
[[Internet Protocol (IP)]]
<<<.tc-big-quote
Path MTU Discovery (PMTUD) is a standardized technique in computer networking for determining the maximum transmission unit (MTU) size on the network path between two Internet Protocol (IP) hosts, usually with the goal of avoiding IP fragmentation.
路径最大传输单元发现(Path MTU Discovery,PMTUD)是用来确定两个主机传输路径 MTU 的机制
<<<
#向目的主机发送 IP 头中 DF 控制位为 1 的数据包,DF 是不分片(Don’t Fragment,DF)的缩写;
#路径上的网络设备根据数据包的大小和自己的 MTU 做出不同的决定:
#*如果数据包大于设备的 MTU,就会丢弃数据包并发回一个包含该设备 MTU 的 ICMP 消息;
#*如果数据包小于设备的 MTU,就会继续向目的主机传递数据包;
#源主机收到[[ICMP(Internet Control Message Protocol)]] 消息后,会不断使用新的 MTU 发送 IP 数据包,直到 IP 数据包达到目的主机;
[[Property-based Testing]]
互联网言必谈代码质量,单元测试,TDD(Test Driven Development)很久了,仿佛TDD就是灵丹妙药,用上了就是质量高没bug的代码,但真的是这样子吗?
## 单元测试、TDD的缺陷
**问题不对,路线错误,测试越多越没用**
TDD很简单,假如你实现整数除法这功能,那么对除法这函数 `divide` 人工做一些测试用例:
* 除1 `divide(12/1) == 1`
* 除0 `divide(12/0) == panic`
* 除某个负数 `divide(12/-2) == -6`
* 除某个正数 `divide(12/4) == 3`
上述例子都通过,那么代码实现就对了。
这当然可以,但人脑就可以穷尽这些特殊例子吗?会有遗漏吗?上面是不是漏了 `0/某个数`呢?
是的,上面这些就是特例验证的缺陷,你无法证明你就是对的。
## Property-based Testing
那么,我们可以怎么做呢?
本质验证。
整数除法是不是有一些定律特质吗?比如:
* `0 / a = 0`
* ` a / 0 = fatal`
* `a / b / c = a / c / b`
* `a / b * b = a`
* `a / b = 10*a / 10*b`
这些就是定律,我们实现的除法在满足这些定律的情况下,就是对的行为。
那么,对a与b这两个变量,随机生成大量的如一百万个随机数,分别验证上述行为,跑几次没问题后,是不是就证明是对的,且自动化、正确率远远大于TDD呢?
没错,这就是`Property-based Testing(基于特性测试)`。
## golang的PBT test
以我在工作的例子做示范,我们要实现一个函数,reformat IP地址的,就是所有的CIDR IP(如: `192.168.1.0/24:7777"`)或者正常IP地址要转换为IP地址,去掉没用的`/24`,得到`192.168.1.0:7777`, 旧代码是这样子做的:
```go
// 10.233.100.175/26:6379 to 10.233.100.175:6379
func ReformatAddress(addr string) string {
slashIndex := strings.IndexByte(addr, '/')
portString := ":6379"
portIndex := strings.IndexByte(addr, ':')
if portIndex >= 0 {
portString = addr[portIndex:]
if slashIndex == -1 {
slashIndex = portIndex
}
return addr[:slashIndex] + portString //只要 / 前的IP + 端口
}else // 没有端口号
slashIndex = len(addr)
}
return addr[:slashIndex] + portString
}
```
你可以想想这代码有没有问题。
TDD的单元测试是这么写的:
```go
func TestReformatAddress(t *testing.T) {
if addr := ReformatAddress("10.233.100.175/1:6379"); addr != "10.233.100.175:6379" { //nolint
t.Errorf("1: %s", addr)
}
if addr := ReformatAddress("10.233.100.175:6379"); addr != "10.233.100.175:6379" { //nolint
t.Errorf("2: %s", addr)
}
if addr := ReformatAddress("10.233.100.175"); addr != "10.233.100.175:6379" { //nolint
t.Errorf("3: %s", addr)
}
}
```
我用PBT重写后就是这样子的:
核心就是`ReformatAddress(a)`后的内容,必须是一个正则表达式上个符合ip格式的内容
* 根据正则表达式生成合理的CIDR地址或者IP地址
* 大量生成上述两者,都调用`ReformatAddress`,然后用正则表达式校验结果
```go
func TestPBTReformatAddress(t *testing.T) {
const ipv4re = `(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`(/[1-3]?[1-9])?` + // \
`(:^()([1-9]|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5])$)?` // :port range
const validIP4re = `(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])` +
`(:([1-9]|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5])$)` // :port range
rapid.Check(t, func(t *rapid.T) {
addr := rapid.StringMatching(ipv4re).Draw(t, "addr").(string)
fmtAddr := ReformatAddress(addr)
net.ParseIP(strings.Split(fmtAddr, ":")[0])
var re = regexp.MustCompile(validIP4re)
fmt.Printf("origin is %s addr, fmtAddr is %s, match is %v\n", addr, fmtAddr, re.MatchString(fmtAddr))
match := re.MatchString(fmtAddr)
if !match {
t.Fatalf("%s is not correct", fmtAddr)
}
})
}
```
结果我真就发现了代码有问题,当时修复的截图:
现在代码是这样子的:
```go
// 10.233.100.175/26:6379 to 10.233.100.175:6379
func ReformatAddress(addr string) string {
slashIndex := strings.IndexByte(addr, '/')
portString := ":6379"
portIndex := strings.IndexByte(addr, ':')
if portIndex >= 0 {
portString = addr[portIndex:]
if slashIndex == -1 {
slashIndex = portIndex
}
return addr[:slashIndex] + portString
}
if slashIndex == -1 {
slashIndex = len(addr)
}
return addr[:slashIndex] + portString
}
```
原因是,不一定所有的入参都一定是对的CIDR地址啊,就是不一定addr都有`/`的。
那这时候`slashIndex`是 `-1`就有bug了,所以要特殊处理。
## PBT test
我工作中还写了很多PBT test,帮助了好多:
* 某服务主从切换
* 多次随机启动停止事件,都要满足有一个主,其他都是它的slave的特质
* 某服务HA高可用
* 多次n个服务随机停止启动事件,至少保证有一个在接收处理请求
等等等等。
通过这,我几乎pbt test对了,几乎就没问题了,堪称完美。
每个进程在Linux内核中都有一个task_struct结构体来维护进程相关的信息,称为进程描述符([[Process]]
Descriptor),而在操作系统理论中称为进程控制块([[PCB]],Process Control Block)。
task_struct中有一个指针指向files_struct结构体,称为文件描述符表[[file descriptor]],其中每个表项包含一个指向已打开的文件的指针
* 进程 id。系统中每个进程有唯一的 id,在 C 语言中用 pid_t 类型表示,其实就是一个非负整数。
* 进程的状态,有运行、挂起、停止、僵尸等状态。
* 进程切换时需要保存和恢复的一些 CPU 寄存器。
* 描述虚拟地址空间的信息。
* 描述控制终端的信息。
* 当前工作目录(Current Working Directory)。
* umask 掩码。
* 文件描述符表,包含很多指向 file 结构体的指针。
* 和信号相关的信息。
* 用户 id 和组 id。
* [[控制终端(controlling terminal)]]、Session 和进程组。
* 进程可以使用的资源上限(Resource Limit)。
PCRE - Perl Compatible Regular Expressions
> Perl Compatible Regular Expressions (PCRE) is a library written in C, which implements a regular expression engine, inspired by the capabilities of the Perl programming language.
[[Metric]]
* 99th percentile: It means that 99% of the requests should be faster than given latency
<<<
A good place to start is P50 and P90. To compute P50, which is really just the median, sort the data points in ascending order: 20, 37, 45, 62, 850, 920. You get P50 by throwing out the bottom 50% of the points and looking at the first point that remains: 62ms. You get P90 by throwing out the bottom 90% of the points and looking at the first point which remains: 920.
<<<
[[Linux Performance Analysics]]
!! Perf can record events
* `perf list`: list all events
* `perf record -e syscalls:sys_enter_connect -ag` record event
!! FlameGraph
`perf script | stackcollapse-perf.pl | flamegraph.pl >graph.svg`
[[FlameGraph|https://github.com/brendangregg/FlameGraph]]
[[Linux CPU Performance Tools]]
From: [[CPU Utilization is Wrong|http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html]]
!! background
<div class="box">
What you may think 90% CPU utilization means:
[img[http://www.brendangregg.com/blog/images/2017/cpubusyidle.png]]
What it might really mean:
[img[http://www.brendangregg.com/blog/images/2017/cpubusystalledidle.png]]
Stalled means the processor was not making forward progress with instructions, and usually happens because it is waiting on memory I/O. The ratio I drew above (between busy and stalled) is what I typically see in production. Chances are, you're mostly stalled, but don't know it.
</div>
!! Summary
<div class="box">
CPU utilization has become a deeply misleading metric: it includes cycles waiting on main memory, which can dominate modern workloads.
Perhaps %CPU should be renamed to %CYC, short for cycles.
You can figure out what %CPU really means by using additional metrics, including instructions per cycle (IPC). An IPC < 1.0 likely means memory bound, and an IPC > 1.0 likely means instruction bound.
</div>
[[Backtracking]]
[[LeetCode]]
[[46. Permutations|https://leetcode.com/problems/permutations/]]
```cpp
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int>> res;
vector<int> path;
doPermute(nums, path, res);
return res;
}
void doPermute(vector<int>& nums, vector<int>& path, vector<vector<int>> &res) {
for(int i : nums) {
if(path.size() == nums.size()) {
res.push_back(path);
return;
}
if(find(path.begin(), path.end(), i) != path.end()) {
continue;
}
path.push_back(i);
doPermute(nums, path, res);
path.pop_back();
}
}
```
[[Backtracking]]
[[LeetCode]]
[[47. Permutations II|https://leetcode.com/problems/permutations-ii/]]
```cpp
void doPermute(vector<int>& nums, vector<int> &selected, vector<int>& path, vector<vector<int>> &res) {
for(auto it=nums.begin(); it!=nums.end(); it++) {
int v = *it;
int idx = it - nums.begin();
if(path.size() == nums.size()) {
if(find(res.begin(), res.end(), path) == res.end()) {
res.push_back(path);
}
return;
}
if(find(selected.begin(), selected.end(), idx) != selected.end()) {
continue;
}
path.push_back(v);
selected.push_back(idx);
doPermute(nums, selected, path, res);
path.pop_back();
selected.pop_back();
}
}
vector<vector<int>> permuteUnique(vector<int>& nums) {
vector<vector<int>> res;
vector<int> path;
vector<int> selected;
doPermute(nums, selected, path, res);
return res;
}
```
[[Concurrency control]]
悲观锁:在[关系数据库管理系统](https://www.wikiwand.com/zh-hans/关系数据库管理系统)里,**悲观并发控制**(又名 “**悲观锁**”,Pessimistic Concurrency Control,缩写 “PCC”)是一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修改数据。如果一个事务执行的操作读某行数据应用了锁,那只有当这个事务把锁释放,其他事务才能够执行与该锁冲突的操作。
[[CPU(CentralProcessingUnit)]]
物理核,真实的cpu核,有独立的电路元件以及L1,L2缓存,可以独立地执行指令。
`(?<=regex)`
Matches at a position if the pattern inside the lookbehind can be matched ending at that position.
`(?<=s)t` matches the first t in streets.
[[refering|https://www.regular-expressions.info/refadv.html]]
[[Computer multitasking]]
抢占式多任务处理(Preemption)
!! Drawbacks
* It takes a certain amount of time for the operating system to context switch from one thread to another.
* As the number of users accessing a Web app at the same time increases, so does the number of threads being used
[[procfs]]
[[Out Of Memory Management]]
The `/proc/<pid>/oom_adj` knob was introduced to save important processes in the system from being killed, and define an order of processes to be killed.
The possible values of oom_adj range from -17 to +15. The higher the score, more likely the associated process is to be killed by OOM-killer.
If oom_adj is set to -17, the process is not considered for OOM.
[[procfs]]
```bash
root@localhost:~# cat /proc/181777/status | grep -i cpus_allow
Cpus_allowed: 02
Cpus_allowed_list: 1
```
can set cpu affnity
[[Linux]]
The definition of a process, informally, is quite simple: it is a running program [V+65,BH70].
Every process is spawned from another process (except, of course, the [[init process]])
线程与[[Process]]最大的区别在于,[[Thread]]是调度的基本单位,而进程则是资源拥有的基本单位。
说白了,所谓内核中的任务调度,实际上的调度对象是线程;而进程只是给线程提供了虚拟内存、全局变量等资源
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Process' sort[ind]>>
</div>
[[Process]]
In computing, a context switch is the process of storing the state of a process or thread, so that it can be restored and resume execution at a later point. This allows multiple processes to share a single CPU, and is an essential feature of a multitasking operating system.
根据 [[Tsuna|https://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html]] 的测试报告,每次上下文切换都需要几十纳秒到数微秒的 CPU 时间。
[[Process]]
The Linux process state machine
[img[https://learning.oreilly.com/library/view/hands-on-system-programming/9781788998475/assets/b25cef64-61ac-4c07-99f0-8cf2773c27cb.png]]
<div class="box">
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process:
* `D`: uninterruptible sleep (usually IO)
* `R`: running or runnable (on run queue)
* `S`: interruptible sleep (waiting for an event to complete)
* `T`: stopped by job control signal
* `t`: stopped by debugger during the tracing
* `W`: paging (not valid since the 2.6.xx kernel)
* `X`: dead (should never be seen)
* `Z`: defunct ("zombie") process, terminated but not reaped by its parent
For BSD formats and when the stat keyword is used, additional characters may be displayed:
* `<`: high-priority (not nice to other users)
* `N`: low-priority (nice to other users)
* `L`: has pages locked into memory (for real-time and custom IO)
* `s`: is a session leader
* `l`: is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
* `+`: is in the foreground process group
</div>
[[Process]]
* taskset - set or retrieve a process's CPU affinity
[[JobControl]]
<div class="box">
* A process group is a set of one or more processes sharing the same process group identifier (PGID). A process group ID is a number of the same type (pid_t) as a process ID.
* A process group has a process group leader, which is the process that becomes the first member of the group and whose process ID becomes the process group ID of the group.
* A process group has a lifetime, which is the period of time beginning when the leader joins the group and ending when the last member process leaves the group
</div>
<div class="box">
There are two tasks with specially distinguished [[Process]] IDs:
* swapper or sched has process ID 0 and is responsible for paging, and is actually part of the kernel rather than a normal user-mode process.
* Process ID 1 is usually the [[init process]] primarily responsible for starting and shutting down the system.
* Originally, process ID 1 was not specifically reserved for init by any technical measures: it simply had this ID as a natural consequence of being the first process invoked by the kernel.
</div>
[[JobControl]]
<div class="box">
"""
A session is a collection of process groups.
All of the processes in a session share a single [[控制终端(controlling terminal)]]. The controlling terminal is established when the session leader first opens a terminal device.
A terminal may be the controlling terminal of at most one session.
At any point in time, one of the process groups in a session is the foreground process group for the terminal, and the others are background process groups. Only processes in the foreground process group can read input from the controlling terminal.
"""
</div>
[[Linux File System]]
<<<.tc-big-quote
The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.
> A product type (from "Cartesian product", i.e tuples) T = A * B means that a value of type T has a component that is of type A and another component that is of type B. It is used to aggregate parts into a whole.
```C++
struct Foo {
x: bool,
y: u8,
}
```
The set of possible values of Foo is:
`{(x,y):x∈bool,y∈u8}` : (Read as “The set of all ( x , y ) where x is in bool and y is in u8 ”)
This is called a Cartesian product, and is often represented as `F o o = b o o l × u 8 `
This is why structs are called “product types”.
A programming language is a [[Formal language]] comprising a set of instructions that produce various kinds of output.
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Programming language' sort[ind]>>
</div>
[[MonitorTool]]
Prometheus is a free software application used for event monitoring and alerting
It records real-time metrics in a [[time series database]] built using a HTTP pull model, with flexible queries and real-time alerting.
<div class="box">
A typical monitoring platform with Prometheus is composed of multiple tools:
* Multiple exporters that typically run on the monitored host to export local metrics.
* Prometheus to centralize and store the metrics.
* Alertmanager to trigger alerts based on those metrics.
* Grafana to produce dashboards.
PromQL is the query language used to create dashboards and alerts.
</div>
[[Prometheus]]
* STO重启了机器,我们的注册信息全丢了,他们机器应该有备份,过了一天自己恢复了
* 同一台机器在他们的注册list里面有多份 我们grafana做query的时候就报错了
* 还有一个问题可能发生的是测试集群 如果我们关机了 过五六个小时以后 这个机器会从监控的list里面被移除了
[[Prometheus]] provides a functional query language called PromQL (Prometheus Query Language) that lets the user select and aggregate time series data in real time.
[[Testing]]
<<<.tc-big-quote
In short, traditional tests have you come up with examples that indirectly imply rules dictating the behavior of your code (if at all), and property-based testing asks you to come up with the rules first and then tests them for you.
<<<
和形式证明相似,只不过是通过运行大量随机生成的测试案例检验性质是否满足.
核心是 通过规则来校验,而不是具体的例子。一般写单元测试,可能就是只测试具体的值,而不是规则。
比如: 验证 Add函数对不对, 单元测试就是验证: 1 + 3 = 4, 2 + 9 = 11, -12 + 4 = 8
但是PBT的话,是从规则上验证: a + b + c = a + c + b , a + b - b = a 这样子
随机产生大量的测试值,只是一种表现形式,根据你给的规则来生成随机值,不用自己构造例子。
[[In praise of property-based testing|https://increment.com/testing/in-praise-of-property-based-testing/]]
[[Property-based Testing]]
A critical component of property-based testing is shrinking—the mechanism by which a property-based testing framework can be told how to simplify failure cases enough to let us figure out exactly what the minimal reproducible case is.
[[Location Service]]
Location Service 的实现是一个 Proximity 系统的核心。在这里它主要要做两件事:
* 一个是接受司机和乘客位置的汇报并记录;
* 一个是接受 Ride Service 的请求,返回一定范围内匹配到的 available 的司机。
这个匹配机制有大致有这样两种实现方式(之前在这篇文章中都提到过):
* 一种是使用 QuadTree,就是说把地图上任意一个区域都划分成四个子区域,每个区域如果节点超过一个阈值,就继续划分。
* 第二种是使用 Geohash,本质上就是降维。降维的原因是,一维的数据管理和查找起来要容易得多,二维的数据要做到高效查找比较困难。我们的查找条件是基于经纬度的,而不是一个单值;我们存储的数据也都是一个个经纬度形成的点,因此,Geohash 的办法就是把查找条件和存储的数据全部都变成一个个单值,这样就可以利用我们熟悉的一维数组区域查找的技术来高效实现(比如把它索引化,而索引化其实是可以通过 B+树来实现的,因此 Geohash 的查询时间复杂度和 QuadTree 是可以在同一个数量级的,都是 log n)。
[[psql common operations]]
```
psql -U postgres
l
```
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Quote' sort[ind]>>
</div>
[[regular-expression engines]]
RE2 is a software library for regular expressions via a [[deterministic finite-state machines(DFA)]] using automata theory, in contrast to almost all other regular expression libraries, which use backtracking implementations..
It is also not a goal to implement all of the features offered by Perl, PCRE and other engines. As a matter of principle, RE2 does not support constructs for which only backtracking solutions are known to exist. Thus, backreferences and look-around assertions are not supported.
[[File&IO]]
<div class="box">
"""
写常规文件时,write的返回值通常等于请求写的字节数count,而向终端设备或网络写则不一定。
读常规文件是不会[[阻塞(block)]]的,不管读多少字节,read一定会在有限的时间内返回。从终端设备或网络读则不一定,如果从终端输入的数据没有换行符,调用read读终端设备就会阻塞,如果网络上没有接收到数据包,调用read从网络读就会阻塞,至于会阻塞多长时间也是不确定的,如果一直没有数据到达就一直阻塞在那里。同样,写常规文件是不会阻塞的,而向终端设备或网络写则不一定。
"""
</div>
```
#include <unistd.h>
#include <stdlib.h>
int main(void)
{
char buf[10];
int n;
n = read(STDIN_FILENO, buf, 10);
if (n < 0) {
perror("read STDIN_FILENO");
exit(1);
}
write(STDOUT_FILENO, buf, n);
return 0;
}
```
第一次执行a.out的结果很正常,而第二次执行的过程有点特殊,现在分析一下:
#Shell进程创建a.out进程,a.out进程开始执行,而Shell进程睡眠等待a.out进程退出。
#a.out调用read时睡眠等待,直到终端设备输入了换行符才从read返回,read只读走10个字符,剩下的字符仍然保存在内核的终端设备输入缓冲区中。
#a.out进程打印并退出,这时Shell进程恢复运行,Shell继续从终端读取用户输入的命令,于是读走了终端设备输入缓冲区中剩下的字符d和换行符,把它当成一条命令解释执行,结果发现执行不了,没有d这个命令。
设备1有数据到达时可能不能及时处理,最长需延迟n秒才能处理,而且反复查询还是做了很多无用功。以后要学习的[[select]](2)函数可以阻塞地同时监视多个设备,还可以设定阻塞等待的超时时间,从而圆满地解决了这个问题。
[[SQL VS. NoSQL - Which one to use?]]
# Storing large volumes of data that often have little to no structure.
#* A NoSQL database sets no limits on the types of data we can store together and allows us to add new types as the need changes. With document-based databases, you can store data in one place without having to define what “types” of data those are in advance.
# Making the most of cloud computing and storage.
#* Cloud-based storage is an excellent cost-saving solution but requires data to be easily spread across multiple servers to scale up. Using commodity (affordable, smaller) hardware on-site or in the cloud saves you the hassle of additional software and NoSQL databases like Cassandra are designed to be scaled across multiple data centers out of the box, without a lot of headaches.
# Rapid development.
#* NoSQL is extremely useful for rapid development as it doesn’t need to be prepped ahead of time. If you’re working on quick iterations of your system which require making frequent updates to the data structure without a lot of downtime between versions, a relational database will slow you down.
[[SQL VS. NoSQL - Which one to use?]]
# We need to ensure [[ACID (atomicity, consistency, isolation, durability)]] compliance.
#* ACID compliance reducesanomalies and protects the integrity of your database by prescribing exactly how transactions interact with the database.
#* Generally, NoSQL databases sacrifice ACID compliance for scalability and processing speed, but for many e-commerce and financial applications, an ACID- compliant database remains the preferred option.
# Your data is structured and unchanging.
#* If your business is not experiencing massive growth that would require more servers and if you’re only working with data that is consistent, then there may be no reason to use a system designed to support a variety of data types and high traffic volume.
[[Database]]
Redis (Remote Dictionary Server)[ is an in-memory data structure project implementing a distributed, in-memory [[Key–value database]] with optional durability.
[[Redis Config]]
* [[Redis · lazyfree · 大key删除的福音|http://mysql.taobao.org/monthly/2018/10/05/]]
* [[Lazy Redis is better Redis|http://antirez.com/news/93]]
* [[从实现角度看redis lazy free的使用和注意事项|https://juejin.im/post/6844903846464995335]]
Parameters Added in Redis 4.0.10, default all are no:
* `lazyfree-lazy-eviction`: Performs an asynchronous delete on evictions.
* `lazyfree-lazy-expire`: Performs an asynchronous delete on expired keys.
* `lazyfree-lazy-server-del`: Performs an asynchronous delete for commands which update values.
[[Redis Implementation]]
Redis Cluster does not use [[consistent hashing]], but a different form of sharding where every key is conceptually part of what we call an hash slot.
There are 16384 hash slots in Redis Cluster, and to compute what is the hash slot of a given key, we simply take the `CRC16 of the key modulo 16384`.
<<<
Every node in a Redis Cluster is responsible for a subset of the hash slots, so for example you may have a cluster with 3 nodes, where:
- Node A contains hash slots from 0 to 5500.
- Node B contains hash slots from 5501 to 11000.
- Node C contains hash slots from 11001 to 16383.
<<<
!!! This allows to add and remove nodes in the cluster easily.
*if I want to add a new node D, I need to move some hash slot from nodes A, B, C to D.
*similarly if I want to remove node A from the cluster I can just move the hash slots served by A to B and C.When the node A will be empty I can remove it from the cluster completely.
Because moving hash slots from a node to another does not require to stop operations, adding and removing nodes, or changing the percentage of hash slots hold by nodes, does not require any downtime.
[[Redis Implementation]]
why Redis Cluster can lose writes:
* uses asynchronous replication.
* during a network partition where a client is isolated with a minority of instances including at least a master.
[[Redis Implementation]]
Redis Cluster uses a master-slave model where every hash slot has from 1 (the master itself) to N replicas (N-1 additional slaves nodes).
[[Redis]]
* [[文档中心 > 云数据库 Redis 版|https://developer.alibaba.com/docs/doc.htm?treeId=618&articleId=115246&docType=1]]
* [[Redis Specific Parameters from AWS|https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html#ParameterGroups.Redis.5-0-3]]
[[Redis]]
### 执行命令
Redis 执行命令主要有 `Comand`、`Pipeline`以及`Trasaction`三种概念:
* ` command`:一问一答式的,客户端等待 server 返回消息;
* `Pipeline`:发送一连串命令,这些命令发往 server,不用一问一答,收到命令马上返回。sever 以队列执行,执行完后全部结果返回回来;
* `Trasaction`:依靠`MULTI`/`EXEC`命令,`MULTI`命令开始`Trasaction`,此后发送的命令都存到 server 的队列里,`EXEC`命令发送后马上这队列里所有命令;期间不会有其他命令影响这些命令的执行。
库里把 `Command` 命令用 `Pipeline`来做,其实本质是一样的。
[[Redis Data types]]
Redis Hashes are maps between string fields and string values, so they are the perfect data type to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth):
```
HMSET user:1000 username antirez password P1pp0 age 34
HGETALL user:1000
HSET user:1000 password 12345
HGETALL user:1000
```
[[Redis]]
Ref: [[Redis latency problems troubleshooting|https://redis.io/topics/latency]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Redis latency problems troubleshooting' sort[ind]>>
</div>
[[Redis Data types]]
Redis Lists are simply lists of strings, sorted by insertion order.
It is possible to add elements to a Redis List pushing new elements on the head (on the left) or on the tail (on the right) of the list. (LPUSH, RPUSH)
!! Structure
```C
typedef struct listNode {
struct listNode *prev;
struct listNode *next;
void *value;
} listNode;
typedef struct list {
listNode *head;
listNode *tail;
void *(*dup)(void *ptr);
void (*free)(void *ptr);
int (*match)(void *ptr, void *key); listNode(3 pointers)*length + List(5 pointers + longSize) + length strings size
unsigned long len;
} list;
```
[img[https://hellokangning.github.io/images/redis-list-example.png]]
[[Redis]]
<<<.tc-big-quote
Resharding basically means to move hash slots from a set of nodes to another set of nodes,
[[Redis Data types]]
! Redis Sets are an unordered collection of Strings.
It is possible to add, remove, and test for existence of members in O(1) (constant time regardless of the number of elements contained inside the Set).
[[Redis Data types]]
* A String value can be at max 512 Megabytes in length.
!! String Structure
* `char buf[]` -> buf character array stores the actual string.
* `long len` -> stores the length of buf
* `long free` -> stores the number of additional bytes available for use
[[Redis]]
non-block Redis DEL, actually.
the command just unlinks the keys from the keyspace. The actual removal will happen later asynchronously.
[[Redis]] cluster create error: ` is not configured as a cluster node`
只有可能是`cluster`的 node没设置 enable false
或者redis内部出错了(概率太低)
<div class="box">
"""
The Stream is a new data type introduced with [[Redis]] 5.0, which models a log data structure in a more abstract way, however the essence of the log is still intact:
like a log file, often implemented as a file open in append only mode, Redis streams are primarily an append only data structure.
"""
</div>
[[Interrupt]]
<div class="box">
"""
In computing, a computer program or subroutine is called reentrant if multiple invocations can safely run concurrently.
[[Reentrancy]] is not the same thing as [[idempotence]], in which the function may be called more than once yet generate exactly the same output as if it had only been called once.
"""
</div>
[[Regular expression(regex)]]
`grep -v '^$'`
* Match-beginning-of-line operator (^) matches the empty string immediately after a newline, regardless of whether eflags, the execution flags of regexec(), contains REG_NOTBOL.
* Match-end-of-line operator ($) matches the empty string immediately before a newline, regardless of whether eflags contains REG_NOTEOL.
A regular expression (shortened as [[regex]] or regexp also referred to as rational expression) is a sequence of characters that define a search pattern.
Usually such patterns are used by string searching algorithms for "find" or "find and replace" operations on strings, or for input validation.
It is a technique developed in theoretical computer science and [[formal language]] theory.
https://www.debuggex.com/cheatsheet/regex/pcre
https://swtch.com/~rsc/regexp/regexp1.html
[[Property-based Testing]]
<div class="box">
"""
Regular properties work by using generators to create random data for each iteration of a test, running some checks, and then seeing if it works for all inputs.
"""
</div>
[[Regular expression(regex)]]
A relational database is a digital [[Database]] based on the relational model of data。
This great trick was shown to the tiddlywiki google group by [[Alberto Molina|https://groups.google.com/forum/#!topic/tiddlywiki/OCntQ79DuwM]]. I enhanced it a bit.
|!Search tag: | <$edit-text tiddler="$:/temp/RenameTags/search" tag="input" type="text"/> |
|!Replace by: | <$edit-text tiddler="$:/temp/RenameTags/replace" tag="input" type="text"/> |
---
<$reveal type="nomatch" text="" state="$:/temp/RenameTags/replace">
!First step
!!//Apply the tag <$tiddler tiddler={{$:/temp/RenameTags/replace}}><$transclude tiddler="$:/core/ui/TagTemplate"/></$tiddler> to the following tiddlers//
<$list filter="[!has[draft.of]tag{$:/temp/RenameTags/search}!tag{$:/temp/RenameTags/replace}sort[created]]">
<$checkbox tag={{$:/temp/RenameTags/replace}}> <$link to={{!!title}}><$view field="title"/></$link></$checkbox><br/>
</$list>
</$reveal>
<$reveal type="nomatch" text="" state="$:/temp/RenameTags/search">
!Second step
!!//Remove the tag <$tiddler tiddler={{$:/temp/RenameTags/search}}><$transclude tiddler="$:/core/ui/TagTemplate"/></$tiddler> from the following tiddlers//
<$list filter="[!has[draft.of]tag{$:/temp/RenameTags/search}tag{$:/temp/RenameTags/replace}sort[created]]">
<$checkbox tag={{$:/temp/RenameTags/search}}> ~~<$link to={{!!title}}><$view field="title"/></$link>~~</$checkbox><br/>
</$list>
</$reveal>
[[k8s controllers]]
Initially, ReplicationControllers were the only Kubernetes component for replicating pods and rescheduling them when nodes failed. Later, a similar resource called a ReplicaSet was introduced. It’s a new generation of ReplicationController and replaces it completely (ReplicationControllers will eventually be deprecated).
[[Replication(复制)]]
变更复制算法:单领导者(single leader),多领导者(multi leader)和无领导者(leaderless)
[[data distribute(数据分布)]]
!! Why we need Replication
*使得数据与用户在地理上接近(从而减少延迟)
* 即使系统的一部分出现故障,系统也能继续工作(从而提高可用性)
*扩展可以接受读请求的机器数量(从而提高读取吞吐量)
!! 复制的困难之处在于处理复制数据的变更(change)
[[k8s controllers]]
*It makes sure there’s always exactly one instance of your pod running.
* Generally, k8s ReplicationController are used to replicate pods (that is, create multiple copies of a pod) and keep them running.
[img[https://learning.oreilly.com/library/view/kubernetes-in-action/9781617293726/Images/04fig01_alt.jpg]]
[[ReplicationController]]
A ReplicationController has three essential parts (also shown in figure 4.3):
[img[https://learning.oreilly.com/library/view/kubernetes-in-action/9781617293726/Images/04fig03.jpg]]
*A label selector, which determines what pods are in the ReplicationController’s scope
*A replica count, which specifies the desired number of pods that should be running
*A pod template, which is used when creating new pod replicas
[[Resume]]
[[Resumes & Cover Letters for PhD Students|https://ocs.fas.harvard.edu/files/ocs/files/phd_resume_cover_letters.pdf]]
[[Dynamic analysis]]
Runtime Verification (RV) is a dynamic analysis method aiming at checking whether
a run of the system under scrutiny satisfies a given correctness property
[[Application layer]]
Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network.
[[Backend]]
A service mesh is the connective tissue between your services that adds additional capabilities like traffic control, service discovery, load balancing, resilience, observability, security, and so on.
[[Distribute System]]
相比之下,无共享架构(shared-nothing architecture)(有时称为水平扩展(horizontal scale) 或向外扩展(scale out))已经相当普及。在这种架构中,运行数据库软件的每台机器/虚拟机都称为节点(node)。每个节点只使用各自的处理器,内存和磁盘。节点之间的任何协调,都是在软件层面使用传统网络实现的。
[[Note]]
- SIGHUP -- *hangup*
Tells the program that the user disconnected (e.g. SSH session or terminal window was closed).
Usually does a [[graceful shutdown]] of the program.
[[SIGHUP]]
[[SIGHUP for reloading configuration|https://stackoverflow.com/questions/19052354/sighup-for-reloading-configuration]]
SIGHUP as a notification about terminal closing event doesn't make sense for a daemon, because deamons are detached from their terminal. So the system will never send this signal to them
''Then it is common practice for daemons to use it for another meaning, typically reloading the daemon's configuration.''
This is not a rule, just kind of a convention. That's why it's not documented in the manpage.
## SIGINT(interrupt)
Sent when you hit CTRL+C
Usually means "stop what you're doing" -- may or may not kill the program
[[Note]]
[[Concept]]
!! 信号的基本概念
<div class="box">
> Signals are a limited form of inter-process communication ([[interprocess communication (IPC)]]), typically used in Unix, Unix-like, and other POSIX-compliant operating systems.
A signal is an asynchronous notification sent to a process or to a specific thread within the same process in order to notify it of an event that occurred.
When a signal is sent, the operating system interrupts the target process' normal flow of execution to deliver the signal.
There are two signals which cannot be intercepted and handled: [[SIGKILL]] and [[SIGSTOP]].
Execution can be interrupted during any non-atomic instruction.
</div>
!! Risks
Signal handling is vulnerable to race conditions. As signals are asynchronous, another signal (even of the same type) can be delivered to the process during execution of the signal handling routine.
Use of non-[[reentrant]] functions, e.g., malloc or printf, inside signal handlers is also unsafe. In particular, the POSIX specification and the Linux man page signal(7) requires that all system functions directly or indirectly called from a signal function are [[async-signal-safe ]]
<div class="box">
!! 例子
# 用户输入命令,在 Shell 下启动一个前台进程。
# 用户按下 Ctrl-C,这个键盘输入产生一个硬件中断。
# 如果 CPU 当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行,CPU 从[[用户态]]切换到[[内核态]]处理硬件[[中断]]。
# 终端驱动程序将 Ctrl-C 解释成一个 [[SIGINT]] 信号,记在该进程的 [[PCB]] 中(也可以说发送了一个 [[SIGINT]]信号给该进程)。
# 当某个时刻要从内核返回到该进程的用户空间代码继续执行之前,首先处理 [[PCB]] 中记录的信号,发现有一个 [[SIGINT]]信号待处理,而这个信号的默认处理动作是终止进程,所以直接终止进程而不再返回它的用户空间代码执行。
</div>
[[Signal]]
[[SIGTERM]] is never sent automatically by the system.
There are a few signals that are sent automatically like [[SIGHUP]] when a terminal goes away, [[SIGSEGV]]/[[SIGBUS]]/[[SIGILL]] when a process does things it shouldn't be doing, [[SIGPIPE]] when it writes to a broken pipe/socket, etc.
And there are a few signals that are sent due to a key press in a terminal, mainly [[SIGINT]] for Ctrl+C, [[SIGQUIT]] for Ctrl+\ and [[SIGTSTP]] for Ctrl+Z, but [[SIGTERM]] is not one of those
[[Note]]
[[graceful shutdown]]
> When send() is called on a socket that has already received an RST message from its peer. On Unix-based systems, the default is to send a SIGPIPE signal to your program. If you don't handle this signal, the operating system will terminate your program.
! 经验
!!! [[Golang]] 程序突然崩溃
没有任何输出,捕获一些信号,发现是信号[[SIGPIPE]]导致,尝试`kill -13`。
[[Golang]] [[HttpServer]] 没有忽略[[Linux]]信号[[SIGPIPE]] broken pipe signal,导致程序exit。
[[这里有一个issue|https://github.com/flike/kingshard/issues/227]]
!!! 一个程序退出,内部却捕获不了任何信号,系统也没其他信息
可以用C [[fork]],[[exec]] 一个go程序,再[[wait && waitpid]],拿到[[PCB]]信息:
```
WTERMSIG(status)
returns the number of the signal that caused the child process to terminate. This macro should only be employed if WIFSIGNALED returned true.
```
[[wait && waitpid]] 的系统调用支持拿导致子进程退出的信号。
!! 捕获 [[Signal]] 的例子
```cpp
int main(int argc, char *argv[])
{
pid_t cpid, w;
int wstatus;
cpid = fork();
if (cpid == -1) {
perror("fork");
exit(EXIT_FAILURE);
}
if (cpid == 0) { /* Code executed by child */
printf("Child PID is %ld\n", (long) getpid());
if (argc == 1)
pause(); /* Wait for signals */
_exit(atoi(argv[1]));
} else { /* Code executed by parent */
do {
w = waitpid(cpid, &wstatus, WUNTRACED | WCONTINUED);
if (w == -1) {
perror("waitpid");
exit(EXIT_FAILURE);
}
if (WIFEXITED(wstatus)) {
printf("exited, status=%d\n", WEXITSTATUS(wstatus));
} else if (WIFSIGNALED(wstatus)) {
printf("killed by signal %d\n", WTERMSIG(wstatus));
} else if (WIFSTOPPED(wstatus)) {
printf("stopped by signal %d\n", WSTOPSIG(wstatus));
} else if (WIFCONTINUED(wstatus)) {
printf("continued\n");
}
} while (!WIFEXITED(wstatus) && !WIFSIGNALED(wstatus));
exit(EXIT_SUCCESS);
}
}
```
- SIGPIPE -- *pipe closed*
Tells the program that the the pipeline has closed. Usually terminates the program.
For example `cat /etc/passwd | head -n1` will send SIGPIPE to the `cat` process after the first line is printed, causing `cat` to terminate before finishing the whole file.
- `Ctrl+\` sends `SIGQUIT`, where the default action is to dump core([[coredump]]) and terminate. This can be used if a program is doing something very wrong, you need to stop it immediately, and would like to be able to debug it later.
SIGSTOP
Sent when you hit `CTRL+Z`
Pauses the program, discussed above
[[Signal]]
The SIGTERM signal is a generic signal used to cause program termination.
Unlike [[SIGKILL]], this signal can be blocked, handled, and ignored. It is the normal way to politely ask a program to terminate.
The shell command [[kill]] generates SIGTERM by default.
[[Signal]]
<div class="box">
"""
The SIGTRAP signal is sent to a process when an exception (or trap) occurs:
a condition that a debugger has requested to be informed of.
For example, when a particular function is executed, or when a particular variable changes value.
"""
</div>
[[TCP Sliding Window(滑动窗口)]]
##### Silly Window Syndrome
Silly Window Syndrome 翻译成中文就是 “糊涂窗口综合症”。正如你上面看到的一样,如果我们的接收方太忙了,来不及取走 Receive Windows 里的数据,那么,就会导致发送方越来越小。到最后,如果接收方腾出几个字节并告诉发送方现在有几个字节的 window,而我们的发送方会义无反顾地发送这几个字节。
要知道,我们的 TCP+IP 头有 40 个字节,为了几个字节,要达上这么大的开销,这太不经济了。
另外,你需要知道网络上有个 MTU,对于以太网来说,MTU 是 1500 字节,除去 TCP+IP 头的 40 个字节,真正的数据传输可以有 1460,这就是所谓的 MSS(Max Segment Size)注意,TCP 的 RFC 定义这个 MSS 的默认值是 536,这是因为 [RFC 791](http://tools.ietf.org/html/rfc791) 里说了任何一个 IP 设备都得最少接收 576 尺寸的大小(实际上来说 576 是拨号的网络的 MTU,而 576 减去 IP 头的 20 个字节就是 536)。
**如果你的网络包可以塞满 MTU,那么你可以用满整个带宽,如果不能,那么你就会浪费带宽**。(大于 MTU 的包有两种结局,一种是直接被丢了,另一种是会被重新分块打包发送) 你可以想像成一个 MTU 就相当于一个飞机的最多可以装的人,如果这飞机里满载的话,带宽最高,如果一个飞机只运一个人的话,无疑成本增加了,也而相当二。
另外,你需要知道网络上有个 MTU,对于以太网来说,MTU 是 1500 字节,除去 TCP+IP 头的 40 个字节,真正的数据传输可以有 1460,这就是所谓的 MSS(Max Segment Size)注意,TCP 的 RFC 定义这个 MSS 的默认值是 536,这是因为 [RFC 791](http://tools.ietf.org/html/rfc791) 里说了任何一个 IP 设备都得最少接收 576 尺寸的大小(实际上来说 576 是拨号的网络的 MTU,而 576 减去 IP 头的 20 个字节就是 536)。
**如果你的网络包可以塞满 MTU,那么你可以用满整个带宽,如果不能,那么你就会浪费带宽**。(大于 MTU 的包有两种结局,一种是直接被丢了,另一种是会被重新分块打包发送) 你可以想像成一个 MTU 就相当于一个飞机的最多可以装的人,如果这飞机里满载的话,带宽最高,如果一个飞机只运一个人的话,无疑成本增加了,也而相当二。
- 如果这个问题是由 Receiver 端引起的,那么就会使用 David D Clark’s 方案。在 receiver 端,如果收到的数据导致 window size 小于某个值,可以直接 ack (0) 回 sender,这样就把 window 给关闭了,也阻止了 sender 再发数据过来,等到 receiver 端处理了一些数据后 windows size 大于等于了 MSS,或者,receiver buffer 有一半为空,就可以把 window 打开让 send 发送数据过来。
- 如果这个问题是由 Sender 端引起的,那么就会使用著名的 [Nagle’s algorithm](http://en.wikipedia.org/wiki/Nagle's_algorithm)。这个算法的思路也是延时处理,他有两个主要的条件:1)要等到 Window Size>=MSS 或是 Data Size >=MSS,2)收到之前发送数据的 ack 回包,他才会发数据,否则就是在攒数据。
另外,Nagle 算法默认是打开的,所以,对于一些需要小包场景的程序 —— **比如像 telnet 或 ssh 这样的交互性比较强的程序,你需要关闭这个算法**。你可以在 Socket 设置 TCP_NODELAY 选项来关闭这个算法(关闭 Nagle 算法没有全局参数,需要根据每个应用自己的特点来关闭)
[[replicating algorithms]]
[[Socket setsockopt]]
client终止时自动关闭socket描述符,server的TCP连接收到client发的FIN段后处于TIME_WAIT状态。TCP协议规定,主动关闭连接的一方要处于TIME_WAIT状态,等待两个MSL(maximum segment lifetime)的时间后才能回到CLOSED状态,因为我们先Ctrl-C终止了server,所以server是主动关闭连接的一方,在TIME_WAIT期间仍然不能再次监听同样的server端口。MSL在RFC1122中规定为两分钟,但是各操作系统的实现不同,在Linux上一般经过半分钟后就可以再次启动server了。至于为什么要规定TIME_WAIT的时间请读者参考UNP 2.7节。
在server的TCP连接没有完全断开之前不允许重新监听是不合理的,因为,TCP连接没有完全断开指的是connfd(127.0.0.1:8000)没有完全断开,而我们重新监听的是listenfd(0.0.0.0:8000),虽然是占用同一个端口,但IP地址不同,connfd对应的是与某个客户端通讯的一个具体的IP地址,而listenfd对应的是wildcard address。解决这个问题的方法是使用setsockopt()设置socket描述符的选项`SO_REUSEADDR`为1,表示允许创建端口号相同但IP地址不同的多个socket描述符。在server代码的socket()和bind()调用之间插入如下代码:
```cpp
int opt = 1;
setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
```
有关setsockopt可以设置的其它选项请参考UNP第7章。
[[Network socket]]
[[close() and shutdown()—Get outta my face!|https://beej.us/guide/bgnet/html/#close-and-shutdownget-outta-my-face]]
* `close(sockfd);`This will prevent any more reads and writes to the socket.
* ` int shutdown(int sockfd, int how);` If you deign to use shutdown() on unconnected datagram sockets, it will simply make the socket unavailable for further send() and recv() calls (remember that you can use these if you connect() your datagram socket).
[[Layer 5: Session layer]]
SOCKS is an Internet protocol that exchanges network packets between a client and server through a proxy server. SOCKS5 optionally provides authentication so only authorized users may access a server.
[[Algorithm]]
[img[https://raw.githubusercontent.com/ThomasHuke/Sorting-Algorithm/master/res/sort.png]]
实际上,学术上已经有证明,任何基于比较的排序算法的时间复杂度不能比这更优了。也就是说,如果`不对待排序数据的性质有特殊要求`,只任意给出偏序关系,那不可能存在小于 `On*logn`的排序算法
!! 对排序数据性质有要求的算法
* 计数排序 复杂度`O(k+n)` 要求:被排序的数是`0~k`范围内的整数
* 基数排序 复杂度 `O(d(k+n))`要求:d位数,每个数位有k个取值
* 桶排序 复杂度`On`(平均) 要求:被排序数在某个范围内,并且服从均匀分布
!! Details
* 计数排序(counting sort)
** 例如当待排序数据是不太大的自然数(`均满足 <=m`)时,可以使用计数排序,把待排序数据当作数组下标处理,时间复杂度是 `On+m`,并额外有 `Om` 的空间复杂度。
** 对每一个输入元素,计算小于它的元素个数,如果有N个元素小于它,那么它就应该放在N+1的位置上。
*有对计数排序的优化:基数排序(Radix Sort)
** 先对个位进行count排序,然后对十位进行count排序,然后是百位和千位。。。
*桶排序(Bucket sort)
** 将数组分到有限数量的桶里。每个桶再个别排序
[[RE2]]
[[Speeding up regexp matching with ragel|https://medium.com/@dgryski/speeding-up-regexp-matching-with-ragel-4727f1c16027]]
[[Database selection]]
* MySQL is a relational database that is based on tabular design whereas NoSQL is non-relational in nature with its document-based design.
* MySQL is not so easily scalable with their rigid schema restrictions whereas NoSQL can be easily scaled with their dynamic schema nature.
* The detailed database model is required before database creation in MySQL whereas no detailed modeling is required in the case of NoSQL database types.
* ''MySQL like a relational database can provide a performance issue for a huge amount of data, hence require optimization of queries whereas NoSQL databases like MongoDB are good at performance even with the dataset is huge in size''.
[[SQL VS. NoSQL - Which one to use?]]
!! SQL
* PasteBin
** Metadata database: We can use a relational database like MySQL or a Distributed Key-Value store like Dynamo or Cassandra.
** Object storage: We can store our contents in an Object Storage like Amazon’s S3.
* Dropbox: As shown in the diagram below, Block servers will work with the clients to upload/download files from cloud storage and Metadata servers will keep metadata of files updated in a SQL or NoSQL database.
* Youtube
** Videos metadata can be stored in a SQL database.
!! NoSQL
* URL shortening: Since we anticipate storing billions of rows, and we don’tneed to use relationships between objects.
* Instagram
** We can store the above schema in a distributed key-value store to enjoy the benefits offered by NoSQL.
** We can store photos in a distributed file storage like HDFS or S3.
* Dropbox: As shown in the diagram below, Block servers will work with the clients to upload/download files from cloud storage and Metadata servers will keep metadata of files updated in a SQL or NoSQL database.
!! wide-column database
* Faceboom Messaenger
** We need to have a database that can support a very high rate of small updates and also fetch a range of records quickly.
** We cannot use RDBMS like MySQL or NoSQL like MongoDB because we cannot afford to read/write a row from the database every time a user receives/sends a message. This will not only make the basic operations of our service run with high latency, but also create a huge load on databases.
** HBase is a column-oriented key-value NoSQL database that can store multiple values against one key into multiple columns.
!! 总结
[[Secure Shell (SSH)]] 的 Host 配置会一直往下匹配,拼接选项。 需要在 `*` 时排除某个 host, 就要 `!`。
!! 例子
```bash
Host targaryen
HostName 192.168.1.10
User daenerys
Port 7654
IdentityFile ~/.ssh/targaryen.key
Host tyrell
HostName 192.168.10.20
Host martell
HostName 192.168.10.50
Host *ell
user oberyn
Host * !martell
LogLevel INFO
Host *
User root
Compression yes
```
`ssh tyrell` 的配置会是:
```bash
HostName 192.168.10.20
User oberyn
LogLevel INFO
Compression yes
```
[[Secure Shell (SSH)]]
* chmod 700 ~/.ssh
* chmod 600 ~/.ssh/authorized_keys
* chmod go-w ~
* `/etc/ssh/sshd_config`: `PermitRootLogin yes`
* sudo systemctl restart ssh.service
[[Replication Logs]]
在最简单的情况下,主库记录下它执行的每个写入请求(语句(statement))并将该语句日志发送给其从库。对于关系数据库来说,这意味着每个INSERT,UPDATE或DELETE语句都被转发给每个从库,每个从库解析并执行该SQL语句,就像从客户端收到一样。
!! Notice
* 任何调用非确定性函数(nondeterministic)的语句,可能会在每个副本上生成不同的值。例如,使用NOW()获取当前日期时间,或使用RAND()获取一个随机数。
* 如果语句使用了自增列(auto increment),或者依赖于数据库中的现有数据(例如,UPDATE ... WHERE <某些条件>),则必须在每个副本上按照完全相同的顺序执行它们,否则可能会产生不同的效果。当有多个并发执行的事务时,这可能成为一个限制。
* 有副作用的语句(例如,触发器,存储过程,用户定义的函数)可能会在每个副本上产生不同的副作用,除非副作用是绝对确定的。
[[Static analysis]]
Static code analysis scales well but the
expressiveness of the properties that can be checked is limited, and many interesting behavioral properties remain out of scope of this technique.
[[System Design Interview Steps]]
The very first thing you should do with any system design question is to ''clarify the system's constraints and to identify what use cases the system needs to satisfy''.
For example:
* the URL-shortening service could be meant to serve just a few thousand users, but each could be sharing millions of URLs.
* It could be meant to handle millions of clicks on the shortened URLs, or dozens.
* The service may have to provide extensive statistics about each shortened URL (which will increase your data size), or statistics may not be a requirement at all.
[[System Design Interview Steps]]
[[System Design Interview Steps]]
Most likely your high-level design will have one or more bottlenecks given the constraints of the problem.
Now that you have your high-level design, start thinking about what bottlenecks it has.
* Perhaps your system needs a load balancer and many machines behind it to handle the user requests.
* Or maybe the data is so huge that you need to distribute your database on multiple machines.
* What are some of the downsides that occur from doing that?
* Is the database too slow and does it need some in-memory caching
[[System Design Interview Steps]]
[[Capacity estimation and constraints]]
! Background
strace is a diagnostic, debugging and instructional userspace utility for Linux.
* [[Very useful tips in official site|https://strace.io/]]
* [[Julia Evans's blog |https://jvns.ca/categories/strace/]]
! Warning
<<<.tc-big-quote
strace is the system call tracer for Linux. It currently uses the arcane ptrace() (process trace) debugging interface, which operates in a violent manner: pausing the target process for each syscall so that the debugger can read state. And doing this twice: when the syscall begins, and when it ends.
This means strace pauses your application twice for each syscall, and context-switches each time between the application and strace. It's like putting traffic metering lights on your application.
[[strace Wow Much Syscall|http://www.brendangregg.com/blog/2014-05-11/strace-wow-much-syscall.html#:~:text=strace(1)%20is%20a%20great,use%20lower%2Dcost%20buffered%20tracing]]
<<<
!! Tips
Strace 可以查看二进制加载了哪些版本的动态链接库
!! Useful params
```bash
-y Print paths associated with file descriptor arguments.
-yy Print ip:port pairs associated with socket file descriptors.
```
!! Filter by type of syscall
```bash
-e trace=%desc Trace all file descriptor related system calls.
%file Trace all system calls which take a file name as an argument.
%fstat Trace fstat and fstatat syscall variants.
%fstatfs Trace fstatfs, fstatfs64, fstatvfs, osf_fstatfs, and osf_fstatfs64 system calls.
%ipc Trace all IPC related system calls.
%lstat Trace lstat syscall variants.
%memory Trace all memory mapping related system calls.
%network Trace all the network related system calls.
%process Trace all system calls which involve process management.
%pure Trace syscalls that always succeed and have no arguments.
%signal Trace all signal related system calls.
%stat Trace stat syscall variants.
%statfs Trace statfs, statfs64, statvfs, osf_statfs, and osf_statfs64 system calls.
%%stat Trace syscalls used for requesting file status.
%%statfs Trace syscalls related to file system statistics.
```
!! Perform a syscall fault injection.
<<<
"""
$ strace -e trace=open -e fault=open cat
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 ENOSYS (Function not implemented) (INJECTED)
open("/lib/x86_64-linux-gnu/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOSYS (Function not implemented) (INJECTED)
open("/lib/x86_64-linux-gnu/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOSYS (Function not implemented) (INJECTED)
open("/lib/x86_64-linux-gnu/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOSYS (Function not implemented) (INJECTED)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOSYS (Function not implemented) (INJECTED)
cat: error while loading shared libraries: libc.so.6: cannot open shared object file: Error 38
+++ exited with 127 +++
"""
<<<
!! Count time, calls, and errors for each system call.
```bash
$ strace -c ls > /dev/null
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
89.76 0.008016 4 1912 getdents
8.71 0.000778 0 11778 lstat
0.81 0.000072 0 8894 write
0.60 0.000054 0 943 open
0.11 0.000010 0 942 close
0.00 0.000000 0 1 read
0.00 0.000000 0 944 fstat
0.00 0.000000 0 8 mmap
0.00 0.000000 0 4 mprotect
0.00 0.000000 0 1 munmap
0.00 0.000000 0 7 brk
0.00 0.000000 0 3 3 access
0.00 0.000000 0 1 execve
0.00 0.000000 0 1 sysinfo
0.00 0.000000 0 1 arch_prctl
------ ----------- ----------- --------- --------- ----------------
100.00 0.008930 25440 3 total
```
[[Strace]]
```
execve("/bin/ls", ["ls"], [/* 27 vars */]) = 0
brk(NULL) = 0x115b000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3</etc/ld.so.cache>
```
Will load ld file first
[[Neuroscience]]
!! taking breaks helps maintain performance
But research [[Physical Activity and Relaxation During and After Work are Independently Associated With the Need for Recovery|https://journals.humankinetics.com/view/journals/jpah/12/1/article-p109.xml]] shows that taking breaks helps maintain performance during the day, and reduces the need for a long recovery at the end of the day. That’s because detaching from work helps maintain our energy levels and decreases the risk for exhaustion.
> we need to take short breaks (5 to 10 minutes) every hour or so, and longer breaks (at least 30 minutes) every two to four hours
[[Algebraic data type]]
* A [[sum type]] `T = A | B` means that a value of type `T` can be either of type `A` or of type `B`. Such a type is used to express polymorphism.
> A list type is a sum type with two variants, Nil for an empty list and Cons x xs for the combination of a new element x with a list xs to create a new list.
```
data List a = Nil | Cons a (List a)
```
The combination of `enum`and `union`-like behavior is why this sort of type is often referred to as a “[tagged union](https://en.wikipedia.org/wiki/Tagged_union)”.
In [type theory](https://en.wikipedia.org/wiki/Type_theory), it’s referred to as a sum type, and is one of many algebraic types including [product types](https://en.wikipedia.org/wiki/Product_type) and [quotient types](https://en.wikipedia.org/wiki/Quotient_type). Though the variants are disjoint, they collectively form a single type.
----
## Sum type
```haskell
enum Foo {
Bool(bool),
Integer(u8),
}
```
is a set of all values which are valid booleans, and all values which are valid integers.
This is a sum of sets, `Foo=bool+u8`
. More accurately, it’s a disjoint union, where if the input sets have overlap, the overlap is “discriminated” out.
<div class="box">
"""
In computer science, a symbol table is a data structure used by a language translator such as a [[Compiler]] or interpreter, where each identifier (a.k.a. symbol) in a program's source code is associated with information relating to its declaration or appearance in the source.
In other words, the entries of a symbol table store the information related to the entry's corresponding symbol.
"""
</div>
!! Single Prupose Sym table
In the past, the symbol table has served two purposes:
# Provide name and address pairs to the linker, so it can resolve external references and perform symbol-relative relocation.
# Provide additional debug information about a symbol (i.e., function parameters and local variables,variable type information, etc.)
In object files compiled with DWARF, the symbol table exists only for the first purpose listed. Any and all debug information about a symbol must now be retrieved from the [[DWARF sections]].
* [[The Impact of DWARF on TI Object Files|https://www.ti.com/lit/an/spraab5/spraab5.pdf?ts=1595687236245&ref_url=https%253A%252F%252Fwww.google.com%252F]]
* [[How debuggers work: Part 3 - Debugging information|https://eli.thegreenplace.net/2011/02/07/how-debuggers-work-part-3-debugging-information]]
! .symtab and .dynsym
[[Sharable objects and dynamic executables usually have 2 distinct symbol tables, one named ".symtab", and the other ".dynsym". |https://blogs.oracle.com/solaris/inside-elf-symbol-tables-v2]]
#The [[symtab]] contains everything, but it is non-allocable, can be stripped, and has no runtime cost.
#The [[dynsym]] is allocable, and contains the symbols needed to support runtime operation.
[[why symbol table is required for debugging|https://stackoverflow.com/questions/20368217/why-symbol-table-is-required-for-debugging]]
当二进制的[[Symbol table]]被strip后,还是可以通过[[GDB]] 的`file`命令,加载一个相同版本的带[[Symbol table]]的二进制来debug.
```bash
root@localhost:~# g++-5 -s /tmp/x.cpp | nm a.out | head -n 1
nm: a.out: no symbols
root@localhost:~# g++-5 -s -g /tmp/x.cpp | nm a.out | head -n 1
nm: a.out: no symbols
root@localhost:~# g++-5 -g /tmp/x.cpp | nm a.out | head -n 1
nm: a.out: no symbols
root@localhost:~# g++-5 /tmp/x.cpp | nm a.out | head -n 1
0000000000601044 B __bss_start
```
[[Linux TCP]]
Linux 下给了一个叫 `tcp_syncookies` 的参数来应对这个事 —— 当 SYN 队列满了后,TCP 会通过源地址端口、目标地址端口和时间戳打造出一个特别的 Sequence Number 发回去(又叫 cookie)
* 如果是攻击者则不会有响应
* 如果是正常连接,则会把这个 SYN Cookie 发回来然后服务端可以通过 cookie 建连接(即使你不在 SYN 队列中)。
请注意, 请先千万别用 tcp_syncookies 来处理正常的大负载的连接的情况。因为,synccookies 是妥协版的 TCP 协议,并不严谨。对于正常的请求,你应该调整三个 TCP 参数可供你选择,第一个是:tcp_synack_retries 可以用他来减少重试次数;第二个是:tcp_max_syn_backlog,可以增大 SYN 连接数;第三个是:tcp_abort_on_overflow 处理不过来干脆就直接拒绝连接了。
[[replicating algorithms]]
[img[https://vonng.gitbooks.io/ddia-cn/content/img/fig5-2.png]]
* 从库1的复制是同步的:在向用户报告写入成功,并使结果对其他用户可见之前,主库需要等待从库1的确认,确保从库1已经收到写入操作。以及在使写入对其他客户端可见之前接收到写入。
* 跟随者2的复制是异步的:主库发送消息,但不等待从库的响应。
!! 将所有从库都设置为同步的是不切实际的
同步复制的优点是,从库保证有与主库一致的最新数据副本。如果主库突然失效,我们可以确信这些数据仍然能在从库上上找到。缺点是,如果同步从库没有响应(比如它已经崩溃,或者出现网络故障,或其它任何原因),主库就无法处理写入操作。主库必须阻止所有写入,并等待同步副本再次可用。
因此,将所有从库都设置为同步的是不切实际的:任何一个节点的中断都会导致整个系统停滞不前。实际上,如果在数据库上启用同步复制,通常意味着其中一个跟随者是同步的,而其他的则是异步的。如果同步从库变得不可用或缓慢,则使一个异步从库同步。这保证你至少在两个节点上拥有最新的数据副本:主库和同步从库。 这种配置有时也被称为 半同步(semi-synchronous)
[[Step 2: Abstract design]]
[[System Design Interview]]
[[Top 10 System Design Interview Questions for Software Engineers|https://www.educative.io/blog/top-10-system-design-interview-questions]]
[[System Design Interview]]
# 确定范围(5分钟)
# 粗略计算(5分钟)
# 整体架构(5分钟)
# 组件架构(20分钟)
# 架构优化(20分钟)
[[System Design]]
[[常见分布式系统设计图解|https://www.raychase.net/6364]]
[[Step 2: Abstract design]]
[[SystemProgramming]]
A system call is a controlled entry point into the kernel, allowing a process to request that the kernel perform some action on the process’s behalf.
一次系统调用的过程,其实是发生了两次 CPU 上下文切换。
[[Linux Software]]
[[LINUX PID 1 和 SYSTEMD|https://coolshell.cn/articles/17998.html]]
Its main aim is to unify service configuration and behavior across Linux distributions;
systemd's primary component is a "system and service manager"—an init system used to bootstrap user space and manage user processes.
It also provides replacements for various daemons and utilities, including device management, login management, network connection management, and event loggin
[img[https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Systemd_components.svg/800px-Systemd_components.svg.png?1603700075321]]
[[systemd]]
Network interfaces names and MAC addresses may be generated based on certain stable interface attributes.
`systemd.net-naming-scheme`
!! naming
|Prefix|Description|
|en|Ethernet|
|ib|InfiniBand|
|sl|Serial line IP (slip)|
|wl|Wireless local area network (WLAN)|
|ww|Wireless wide area network (WWAN)|
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'SystemProgramming' sort[ind]>>
</div>
<div class="tc-table-of-contents">
<<toc-selective-expandable 'TableOfContents' sort[ind]>>
</div>
[[kernel virtual network devices]]
TAP, namely network TAP, simulates a link layer device and operates in [[Layer 2: Data Link Layer]] carrying Ethernet frames.
TAP can be used to create a user space network bridge.[
[[Property-based Testing]]
Targeted Properties operate with a different principle: each iteration of a property can be used to influence later iterations’ data generation. Even better, the property itself can give feedback to PropEr telling it whether things are headed in the right direction.
[[TCP(Transmission Control Protocol)]]
[[RFC close a connection|https://tools.ietf.org/html/rfc793#section-3.5]]
[[TCP(Transmission Control Protocol)]]
我们知道 TCP 通过一个 timer 采样了 RTT 并计算 RTO,但是,**如果网络上的延时突然增加,那么,TCP 对这个事做出的应对只有重传数据,但是,重传会导致网络的负担更重,于是会导致更大的延迟以及更多的丢包,于是,这个情况就会进入恶性循环被不断地放大。试想一下,如果一个网络内有成千上万的 TCP 连接都这么行事,那么马上就会形成 “网络风暴”,TCP 这个协议就会拖垮整个网络。**这是一个灾难。
所以,TCP 不能忽略网络上发生的事情,而无脑地一个劲地重发数据,对网络造成更大的伤害。对此 TCP 的设计理念是:**TCP 不是一个自私的协议,当拥塞发生的时候,要做自我牺牲。就像交通阻塞一样,每个车都应该把路让出来,而不要再去抢路了。**
拥塞控制主要是四个算法:**1)慢启动**,**2)拥塞避免**,**3)拥塞发生**,**4)快速恢复**。
[img[https://coolshell.cn/wp-content/uploads/2014/05/tcp.fr_-1024x359.jpg]]
[[TCP(Transmission Control Protocol)]]
如果发送方连续收到 3 次相同的 ack,就重传。Fast Retransmit 的好处是不用等 timeout 了再重传。
比如:
如果发送方发出了 1,2,3,4,5 份数据,
* 第一份先到送了,于是就 ack 回 2
* 结果 2 因为某些原因没收到,3 到达了,于是还是 ack 回 2
* 后面的 4 和 5 都到了,但是还是 ack 回 2
因为 2 还是没有收到,于是发送端收到了三个 ack=2 的确认,知道了 2 还没有到,于是就马上重转 2。然后,接收端收到了 2,此时因为 3,4,5 都收到了,于是 ack 回 6。示意图如下:
[img[https://coolshell.cn/wp-content/uploads/2014/05/FASTIncast021.png]]
<<<
Fast Retransmit只解决了一个问题,就是timeout的问题,它依然面临一个艰难的选择,就是,是重传之前的一个还是重传所有的问题。对于上面的示例来说,是重传#2呢还是重传#2,#3,#4,#5呢?因为发送端并不清楚这连续的3个ack(2)是谁传回来的?也许发送端发了20份数据,是#6,#10,#20传来的呢。这样,发送端很有可能要重传从2到20的这堆数据(这就是某些TCP的实际的实现)。可见,这是一把双刃剑。
[[TCP(Transmission Control Protocol)]]
[[TCP(Transmission Control Protocol)]]
<div class="box">
"""
TCP 协议引入了最大分段大小(Maximum segment size,MSS)这一概念,它是 TCP 数据段能够携带的数据上限。
* 在正常情况下,TCP 连接的 MSS 是 [[IP MTU(Maximum transmission unit)]] - 40 字节,即 1460 字节(避免包被IP层截断)
* 不过如果通信双方没有指定 MSS 的话,在默认情况下 MSS 的大小是 536 字节。
"""
</div>
* IP 协议的 MTU 是物理设备上的限制,它限制了路径能够发送数据包的上限
* 而 TCP 协议的 MSS 是操作系统内核层面的限制,通信双方会在三次握手11时确定这次连接的 MSS。
[[TCP close a connection]]
```
TCP A TCP B
1. ESTABLISHED ESTABLISHED
2. (Close)
FIN-WAIT-1 --> <SEQ=100><ACK=300><CTL=FIN,ACK> --> CLOSE-WAIT
3. FIN-WAIT-2 <-- <SEQ=300><ACK=101><CTL=ACK> <-- CLOSE-WAIT
4. (Close)
TIME-WAIT <-- <SEQ=300><ACK=101><CTL=FIN,ACK> <-- LAST-ACK
5. TIME-WAIT --> <SEQ=101><ACK=301><CTL=ACK> --> CLOSED
6. (2 MSL)
CLOSED
Normal Close Sequence
```
* `FIN-WAIT-1` - represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent.
* `FIN-WAIT-2` - represents waiting for a connection termination request from the remote TCP.
* `CLOSE-WAIT` - represents waiting for a connection termination request from the local user.
* `CLOSING` - represents waiting for a connection termination request acknowledgment from the remote TCP.
* `LAST-ACK` - ''represents waiting for an acknowledgment of the connection termination request previously sent to the remote TCP (which includes an acknowledgment of its connection termination request).''
* `TIME-WAIT` - represents waiting for enough time to pass to be sure the remote TCP received the acknowledgment of its connection termination request.
[[TCP Fast Retransmit(快速重传)]
另外一种更好的方式叫:''Selective Acknowledgment (SACK)''(参看 [[RFC 2018|http://tools.ietf.org/html/rfc2018]],这种方式需要在 TCP 头里加一个 SACK 的东西,ACK 还是 Fast Retransmit 的 ACK,SACK 则是汇报收到的数据碎版。参看下图:
[img[https://coolshell.cn/wp-content/uploads/2014/05/tcp_sack_example-1024x577.jpg]]
这样,在发送端就可以根据回传的SACK来知道哪些数据到了,哪些没有到。于是就优化了Fast Retransmit的算法。当然,这个协议需要两边都支持。在 Linux下,可以通过tcp_sack参数打开这个功能(Linux 2.4后默认打开)。
[[TCP(Transmission Control Protocol)]]
[[Requirements for Internet Hosts -- Communication Layers|https://tools.ietf.org/html/rfc1122#page-87]]
<<<.big-quote
A host MAY implement a "half-duplex" TCP close sequence, so
that an application that has called CLOSE cannot continue to
read data from the connection. If such a host issues a
CLOSE call while received data is still pending in TCP, or
if new data is received after CLOSE is called, its TCP
SHOULD send a RST to show that data was lost.
<<<
[[TCP close a connection]]
```
TCP A TCP B
1. ESTABLISHED ESTABLISHED
2. (Close) (Close)
FIN-WAIT-1 --> <SEQ=100><ACK=300><CTL=FIN,ACK> ... FIN-WAIT-1
<-- <SEQ=300><ACK=100><CTL=FIN,ACK> <--
... <SEQ=100><ACK=300><CTL=FIN,ACK> -->
3. CLOSING --> <SEQ=101><ACK=301><CTL=ACK> ... CLOSING
<-- <SEQ=301><ACK=101><CTL=ACK> <--
... <SEQ=101><ACK=301><CTL=ACK> -->
4. TIME-WAIT TIME-WAIT
(2 MSL) (2 MSL)
CLOSED CLOSED
Simultaneous Close Sequence
```
[[TCP flow control]]
The window mechanism is ''a flow control tool.''
TCP 头里有一个字段叫 Window,又叫 Advertised-Window.
这个字段是''接收端告诉发送端自己还有多少缓冲区可以接收数据''。
于是发送端就可以''根据这个接收端的处理能力来发送数据'',而不会导致接收端处理不过来。
如果 Window 变成 0 了,TCP 会怎么样?是不是发送端就不发数据了?是的,发送端就不发数据了,你可以想像成 “Window Closed”,那你一定还会问,如果发送端不发数据了,接收方一会儿 Window size 可用了,怎么通知发送端呢?
TCP 使用了 Zero Window Probe 技术,缩写为 ZWP,也就是说,发送端在窗口变成 0 后,会发 ZWP 的包给接收方,让接收方来 ack 他的 Window 尺寸,一般这个值会设置成 3 次,第次大约 30-60 秒(不同的实现可能会不一样)。如果 3 次过后还是 0 的话,有的 TCP 实现就会发 RST 把链接断了。
<<<
注意 :只要有等待的地方都可能出现 DDoS 攻击,Zero Window 也不例外,一些攻击者会在和 HTTP 建好链发完 GET 请求后,就把 Window 设置为 0,然后服务端就只能等待进行 ZWP,于是攻击者会并发大量的这样的请求,把服务器端的资源耗尽。(关于这方面的攻击,大家可以移步看一下 [[Wikipedia 的 SockStress 词条|http://en.wikipedia.org/wiki/Sockstress]]
<<<
[img[https://coolshell.cn/wp-content/uploads/2014/05/tcpswwindows.png]]
[img[https://coolshell.cn/wp-content/uploads/2014/05/tcpswslide.png]]
[img[https://coolshell.cn/wp-content/uploads/2014/05/tcpswflow.png]]
[[TCP(Transmission Control Protocol)]]
* TCP 需要 seq 序列号来做可靠重传或接收,而避免连接复用时无法分辨出 seq 是延迟或者是旧链接的 seq,因此需要三次握手来约定确定双方的 ISN(初始 seq 序列号)
[[TCP Three-way Handshake]]
## 三次握手的误解与错误类比(RFC解读)
关于TCP三次握手几乎是应届毕业生面试常见的问题了,然而网上还很多比比皆是的错误,以知乎 [TCP 为什么是三次握手,而不是两次或四次?](https://www.zhihu.com/question/24853633) 上的热门答案为例子,第一个3.6K 次赞同的类比就是错误的:
```
三次握手:
“喂,你听得到吗?”
“我听得到呀,你听得到我吗?”
“我能听到你,今天 balabala……”
```
同样这个107次赞同的类比也是错误的:
```
握手和敬军礼一样,源自「敌我双方互相确认对方手里没有武器、无恶意」的仪式。(虽然双方互相请求确认需要四步,但由于中间的确认和请求是由同一个人执行的,所以合并成了一步)
正恩伸出手说:你看,我手里没有武器。(SYN)
朗普看了看说:嗯,确实没有。(ACK)
于是也伸出手说:你看,我手里也没有武器。(SYN)
正恩看了看说:嗯,看来你确实有诚意。(ACK)
```
这两个类比就是想当然的错误,为什么会错误,看完全文相信你便了然于心。
另外还有一个就是在谢希仁著《计算机网络》第四版中,讲 “三次握手” 的目的是 “为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”,这个只能算是表因,并不涉及本质。
> 谢希仁版《计算机网络》中的例子是这样的,“已失效的连接请求报文段” 的产生在这样一种情况下:client 发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达 server。本来这是一个早已失效的报文段。但 server 收到此失效的连接请求报文段后,就误认为是 client 再次发出的一个新的连接请求。于是就向 client 发出确认报文段,同意建立连接。假设不采用 “三次握手”,那么只要 server 发出确认,新的连接就建立了。由于现在 client 并没有发出建立连接的请求,因此不会理睬 server 的确认,也不会向 server 发送数据。但 server 却以为新的运输连接已经建立,并一直等待 client 发来数据。这样,server 的很多资源就白白浪费掉了。采用 “三次握手” 的办法可以防止上述现象发生。例如刚才那种情况,client 不会向 server 的确认发出确认。server 由于收不到确认,就知道 client 并没有要求建立连接。”
如果你细读[RFC793](https://www.ietf.org/rfc/rfc793.txt),也就是 TCP 的协议 RFC,你就会发现里面就讲到了为什么三次握手是必须的——TCP 需要 seq 序列号来做可靠重传或接收,而避免连接复用时无法分辨出 seq 是延迟或者是旧链接的 seq,因此需要三次握手来约定确定双方的 ISN(初始 seq 序列号)。
下面给出详细的 RFC 解读说明:(数据分组称为分段(Segment),国内通常用包来称呼)
------
我们首先要知道到一点就是, TCP 的可靠连接是靠 seq( sequence numbers 序列号)来达成的。
> A fundamental notion in the design is that every octet of data sent
> over a TCP connection has a sequence number. Since every octet is
> sequenced, each of them can be acknowledged.
> The acknowledgment mechanism employed is cumulative so that an acknowledgment of sequence
> number X indicates that all octets up to but not including X have been
> received.
TCP 设计中一个基本设定就是,通过TCP 连接发送的每一个包,都有一个sequence number。而因为每个包都是有序列号的,所以都能被确认收到这些包。
确认机制是累计的,所以一个对sequence number X 的确认,意味着 X 序列号之前(不包括 X) 包都是被确认接收到的。
> The protocol places no restriction on a particular connection being
> used over and over again.
>
> The problem that arises from this is -- "how does the TCP identify duplicate segments from previous
> incarnations of the connection?" This problem becomes apparent if the
> connection is being opened and closed in quick succession, or if the
> connection breaks with loss of memory and is then reestablished.
TCP 协议是不限制一个特定的连接(两端 socket 一样)被重复使用的。
所以这样就有一个问题:这条连接突然断开重连后,TCP 怎么样识别之前旧链接重发的包?——这就需要独一无二的 ISN(初始序列号)机制。
> When new connections are created,
> an initial sequence number (ISN) generator is employed which selects a
> new 32 bit ISN. The generator is bound to a (possibly fictitious) 32
> bit clock whose low order bit is incremented roughly every 4
> microseconds. Thus, the ISN cycles approximately every 4.55 hours.
> Since we assume that segments will stay in the network no more than
> the Maximum Segment Lifetime (MSL) and that the MSL is less than 4.55
> hours we can reasonably assume that ISN's will be unique.
当一个新连接建立时,`初始序列号( initial sequence number ISN)生成器`会生成一个新的32位的 ISN。
这个生成器会用一个32位长的时钟,差不多`4µs` 增长一次,因此 ISN 会在大约 4.55 小时循环一次
(`2^32`位的计数器,需要`2^32*4 µs`才能自增完,除以1小时共有多少µs便可算出`2^32*4 /(1*60*60*1000*1000)=4.772185884` )
而一个段在网络中并不会比最大分段寿命(Maximum Segment Lifetime (MSL) ,默认使用2分钟)长,MSL 比4.55小时要短,所以我们可以认为 ISN 会是唯一的。
发送方与接收方都会有自己的 ISN (下面的例子中就是 X 与 Y)来做双方互发通信,具体的描述如下:
> 1) A --> B SYN my sequence number is X
>
> 2) A <-- B ACK your sequence number is X
>
> 3) A <-- B SYN my sequence number is Y
>
> 4) A --> B ACK your sequence number is Y
2与3都是 B 发送给 A,因此可以合并在一起,因此成为`three way (or three message) handshake`(其实翻译为三步握手,或者是三次通信握手更为准确)
因此最终可以得出,三次握手是必须的:
> A three way handshake is necessary because sequence numbers are not
> tied to a global clock in the network, and TCPs may have different
> mechanisms for picking the ISN's. The receiver of the first SYN has
> no way of knowing whether the segment was an old delayed one or not,
> unless it remembers the last sequence number used on the connection
> (which is not always possible), and so it must ask the sender to
> verify this SYN. The three way handshake and the advantages of a
> clock-driven scheme are discussed in [3].
三次握手(A three way handshake)是必须的, 因为 sequence numbers(序列号)没有绑定到整个网络的全局时钟(全部统一使用一个时钟,就可以确定这个包是不是延迟到的)以及 TCPs 可能有不同的机制来选择 ISN(初始序列号)。
接收方接收到第一个 SYN 时,没有办法知道这个 SYN 是是否延迟了很久了,除非他有办法记住在这条连接中,最后接收到的那个sequence numbers(然而这不总是可行的)。
这句话的意思是:一个 seq 过来了,跟现在记住的 seq 不一样,我怎么知道他是上条延迟的,还是上上条延迟的呢?
所以,接收方一定需要跟发送方确认 SYN。
假设不确认 SYN 中的 SEQ,那么就只有:
> 1) A --> B SYN my sequence number is X
>
> 2) A <-- B ACK your sequence number is X SYN my sequence number is Y
只有B确认了收到了 A 的 SEQ, A 无法确认收到 B 的。也就是说,只有 A 发送给 B 的包都是可靠的, 而 B 发送给 A 的则不是,所以这不是可靠的连接。这种情况如果只需要 A 发送给 B ,B 无需回应,则可以不做三次握手。
#### 三次握手详细过程
```
TCP A TCP B
1. CLOSED LISTEN
2. SYN-SENT --> <SEQ=100><CTL=SYN> --> SYN-RECEIVED
3. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
4. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED
5. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> --> ESTABLISHED
Basic 3-Way Handshake for Connection Synchronization
Figure 7.
```
在上图
- 第二行中, A 发送了 SEQ 100,标志位是 SYN;
- 第三行,B 发回了 ACK 101 与 SEQ 300,标志位是 SYN 与 ACK(两个过程合并了)。注意,ACK 是101意味着,B 希望接收到 101序列号开始的数据段。
- 第四行,A 返回了空的数据,SEQ 101, ACK 301,标志位为 ACK。至此,双方的开始 SEQ (也就是 ISN)号100与300都被确认接收到了。
- 第五行,开始正式发送数据包,注意的是 ACK 依旧是第四行的301,因为没有需要 ACK 的 SYN 了(第四行已经 ACK 完)。
---
#### 准确的类比
所以,正确的类比应该是这样的:TCP 传递信息可以理解为美国与中国用货船来传货物,但因为一首轮船穿放不下,货物要分开一只只轮船来发货。
所以需要一个序列号来识别该货物是第几个,以便到达后将其拼接回原来的货物。
因为同一条航道(也就是 tcp连接)上,可能会有多批货物发送(复用 tcp 连接)。发货时,双方需要通知对方这
个序列号是从哪里开始(init seq)的,这样才能辨识过来的是不是一个对的货物,以及能拼接成完整的货物。
货物运输拼接(tcp)最重要的是可靠性,如果没有用三次握手来确认双方都可以获得对方的 序列号(seq)的话,就无法知道当前航班(连接)中,对的货物序号是怎么样的了。
#### 三次握手详细过程
```
TCP A TCP B
1. CLOSED LISTEN
2. SYN-SENT --> <SEQ=100><CTL=SYN> --> SYN-RECEIVED
3. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
4. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED
5. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> --> ESTABLISHED
Basic 3-Way Handshake for Connection Synchronization
Figure 7.
```
在上图
- 第二行中, A 发送了 SEQ 100,标志位是 SYN;
- 第三行,B 发回了 ACK 101 与 SEQ 300,标志位是 SYN 与 ACK(两个过程合并了)。注意,ACK 是101意味着,B 希望接收到 101序列号开始的数据段。
- 第四行,A 返回了空的数据,SEQ 101, ACK 301,标志位为 ACK。至此,双方的开始 SEQ (也就是 ISN)号100与300都被确认接收到了。
- 第五行,开始正式发送数据包,注意的是 ACK 依旧是第四行的301,因为没有需要 ACK 的 SYN 了(第四行已经 ACK 完)。
以上,4 最后这个确认的过程,是可以带上数据的。
> The principle reason for the three-way handshake is to prevent old
> duplicate connection initiations from causing confusion. To deal with
> this, a special control message, reset, has been devised. If the
> receiving TCP is in a non-synchronized state (i.e., SYN-SENT,
> SYN-RECEIVED), it returns to LISTEN on receiving an acceptable reset.
> If the TCP is in one of the synchronized states (ESTABLISHED,
> FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT), it
> aborts the connection and informs its user. We discuss this latter
> case under "half-open" connections below.
三次握手的原则设计是防止旧复用链接的初始化导致问题,为了解决此问题,我们设计了reset这个特别的控制信号来处理。
如果接收中的 TCP 在一个未同步状态如 SYN-SENT, SYN-RECEIVED,它会返回 reset 给对方。
如果 TCP 是同步状态中如(ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT),他会终止此连接并通知用户。
看起来有点绕,我们举个图例看看:
```
TCP A TCP B
1. CLOSED LISTEN
2. SYN-SENT --> <SEQ=100><CTL=SYN> ...
3. (duplicate) ... <SEQ=90><CTL=SYN> --> SYN-RECEIVED
4. SYN-SENT <-- <SEQ=300><ACK=91><CTL=SYN,ACK> <-- SYN-RECEIVED
5. SYN-SENT --> <SEQ=91><CTL=RST> --> LISTEN
6. ... <SEQ=100><CTL=SYN> --> SYN-RECEIVED
7. SYN-SENT <-- <SEQ=400><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
8. ESTABLISHED --> <SEQ=101><ACK=401><CTL=ACK> --> ESTABLISHED
Recovery from Old Duplicate SYN
```
这是 复用连接时,旧在途包发往新连接中的例子。
- 3中,一个旧的重复的 SYN到达 B。
- 4中, B分别不出是否旧的,照样子正常回包。
- 5中,A检测到 B 返回的ACK不正确,所以返回 RST(reset)
- 6中,B接收到 RST(reset)信号,于是变成 LISTEN 状态。
- 7中,新连接正常的 SYN终于到达了,三次握手正常进行。
这种是简化的情况,但是可以看出 TCP 是如何处理复用旧链接的包到达的。
---
后记
ps:关于全局时钟的方法,我找到了一篇论文:http://mirrors.ustc.edu.cn/rfc/ien/ien193.pdf, 有兴趣的同学可以看看。
在这里要感谢 余晟以为 这个公众号的文章,里面一句提到rfc里有三次握手是必须的原因,因此我顺势把rfc看了一下。
[[Layer 4: Transport layer]]
[[Linux TCP tools]]
| TCP Flag | tcpdump Flag | Meaning |
| SYN | S | Syn packet, a session establishment request. |
| ACK | A | Ack packet, acknowledge sender’s data. |
| FIN | F | Finish flag, indication of termination. |
| RESET | R | Reset, indication of immediate abort of conn. |
| PUSH | P | Push, immediate push of data from sender. |
| URGENT | U | Urgent, takes precedence over other data. |
| NONE | A dot *.* | Placeholder, usually used for ACK. |
[[tcpdump]]
---
!!! Capturing ARP Traffic
> When using tcpdump to capture ARP, make sure to dump the hex output (-X) and also decode ethernet header using (-e). Note: Use *-XX* to also show ethernet header dump.
`sudo tcpdump -nnvvv -e -X arp`
---
!!! Capturing TCP SYN Packets
`sudo tcpdump -nnvvv host 192.168.1.116 and "tcp[tcpflags] & tcp-syn != 0"`
---
!!! To capture TCP keepalive packets 1-byte or 0-byte ACKs.
Note that a keepalive probe is a packet with no data and ACK flag turned on:
`sudo tcpdump -vv "tcp[tcpflags] == tcp-ack and less 1"`
---
!! Params
*`-A`: is used to decode protocol in ASCII.
[[tcpdump experience]]
You see the "incorrect" checksums due to a feature called ''TCP checksum offloading''.
The checksum fields for outgoing TCP packets are not pre-calculated by the operating system but instead set to 0 and left for calculation by the NIC processor.
You should only see incorrect checksums on packets sent by your machine.
[[Too many incorrect checksum errors in TCPDUMP|https://serverfault.com/questions/288491/too-many-incorrect-checksum-errors-in-tcpdump]]
[[tcpdump]]
!! pcap-filter - packet filter syntax
`man pcap-filter`
<<<.tc-big-quote
pcap_compile() is used to compile a string into a filter program. The
resulting filter program can then be applied to some stream of packets
to determine which packets will be supplied to pcap_loop(), pcap_dis-
patch(), pcap_next(), or pcap_next_ex().
<<<
Three different kinds of qualifier:
* type:type qualifiers say what kind of thing the id name or number refers to.
** Possible types are `host`, `net`, `port` and `portrange`.
*** E.g., host foo, net 128.3, port 20, portrange 6000-6008. If there is no type qualifier, host is assumed.
* dir: dir qualifiers specify a particular transfer direction to and/or from id.
**
.tc-toc {
list-style-type: disc;
content: "•"; /* Insert content that looks like bullets */
padding-right: 8px;
color: Purple; /* Or a color you prefer */
}
<$tidgraph start=<<currentTiddler>> nodetemplate="IconTemplate" />
<!-- Test if current tiddler has any child -->
<$list filter="[tag<currentTiddler>limit[1]]" variable=none>
<h2>TOC</h2>
<!-- tc-tiddler-body class for line-height -->
<div class="tc-tiddler-body">
<div class="tc-table-of-contents">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort={{!!sort}} />
</div>
</div>
</$list>
[[Mocks and test fragility]]
A test double is an overarching term that describes all kinds of non-production-ready, fake dependencies in tests. The term comes from the notion of a stunt double in a movie
There are five variations of test doubles: dummy, stub, spy, mock, and fake
Such a variety can look intimidating, but in reality, they can all be grouped together into just two types: mocks and stubs
[img[https://learning.oreilly.com/library/view/unit-testing-principles/9781617296277/05fig01_alt.jpg]]
!! Details
* Sending an email is an outcoming interaction: an interaction that results in a side effect in the SMTP server. A test double emulating such an interaction is a [[Test Mocks]].
* Retrieving data from the database is an incoming interaction; it doesn’t result in a side effect. The corresponding test double is a [[Test Stubs]].
[img[https://learning.oreilly.com/library/view/unit-testing-principles/9781617296277/05fig02_alt.jpg]]
[[Test doubles]]
Help to emulate and examine outcoming interactions. These interactions are calls the SUT makes to its dependencies to change their state.
[[Test doubles]]
Stubs help to emulate incoming interactions. These interactions are calls the SUT makes to its dependencies to get input data
[[Testing]]
Modern systems are built out of these testable building blocks, but also:
*Many concurrent connections 许多并发连接
*A specific network stack with specific tunables, firmware, and NICs 具有特定可调参数、固件和 nic 的特定网络堆栈
*Iffy or nonexistent serializability within a connection 连接中可疑的或不存在可串行性
*Race conditions 竞赛条件
*Services loosely coupled over networks 通过网络松散耦合的服务
*Network flakiness 网络不稳定
*Ephemeral runtimes 短暂的运行时间
*Specific CPUs and their bugs; multiprocessors 特定的 cpu 及其 bug; 多处理器
*Specific hardware RAM and memory bugs 特定的硬件内存和内存漏洞
*Specific distro, kernel, and OS versions 特定的发行版本、内核和操作系统版本
*Specific library versions for all dependencies 所有依赖项的特定库版本
*Build environment 建立环境
*Deployment code and process 部署代码和过程
*Runtime restarts 运行时重新启动
*Cache hits or misses 缓存命中或未命中
*Specific containers or VMs and their bugs 特定的容器或虚拟机及其 bug
*Specific schedulers and their quirks 特定的调度器和它们的怪癖
*Clients with their own specific back-offs, retries, and time-outs 客户有自己特定的备份、重试和超时
*The internet at large 整个互联网
*Specific times of day, week, month, year, and decade 一天、一周、一月、一年和十年的特定时间
*Noisy neighbors 吵闹的邻居
*Thundering herds 雷鸣般的兽群
*Queues 排队
*Human operators and debuggers 人工操作和调试器
*Environment settings 环境设置
*Deaths, trials, and other real-world events 死亡,审判和其他现实世界的事件
[[Development]]
[img[https://miro.medium.com/max/758/1*g1acsJSuH1bK7i7I-vgaLw.png]]
[[MonitorTool]]
Open source, highly available Prometheus setup with long term storage capabilities.
[[Linux Pipe]]
> Furthermore, the data passes through the pipe sequentially—bytes are read from a pipe in exactly the order they were written. It is not possible to randomly access the data in a pipe using lseek().
[[Linux]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'The Linux Storage Stack' sort[ind]>>
</div>
[img[https://www.thomas-krenn.com/de/wikiDE/images/e/e0/Linux-storage-stack-diagram_v4.10.png]]
[[Static analysis]]
Theorem proving requires manual
effort to carry out proofs (invariant discovery).
[[Process]]
A thread of execution is often regarded as the smallest unit of processing that a scheduler works on.
A process can have multiple threads of execution which are executed asynchronously.
[[Distributed transaction]]
三阶段提交协议(Three-Phase Commit, 3PC)最关键要解决的就是 Coordinator 和参与者同时挂掉导致数据不一致的问题,所以 3PC 把在 2PC 中又添加一个阶段,这样三阶段提交就有:CanCommit、PreCommit 和 DoCommit 三个阶段。
由于3PC 的设计过于复杂,在解决2PC 问题的同时也引入了新的问题,所以在实际上应用不是很广泛。
[[分布式系统的一致性协议之 2PC 和 3PC|https://matt33.com/2018/07/08/distribute-system-consistency-protocol/]]
[img[https://hellokangning.github.io/images/distributed-3pc-sequence.jpg]]
[[Computer multitasking]]
> In computer science, the thundering herd problem occurs when a large number of processes or threads waiting for an event are awoken when that event occurs, but only one process is able to handle the event. When the processes wake up, they will each try to handle the event, but only one will win. All processes will compete for resources, possibly freezing the computer, until the herd is calmed down again
惊群效应(thundering herd)是指多进程(多线程)在同时阻塞等待同一个事件的时候(休眠状态),如果等待的这个事件发生,那么他就会唤醒等待的所有进程(或者线程),但是最终却只能有一个进程(线程)获得这个时间的“控制权”,对该事件进行处理,而其他进程(线程)获取“控制权”失败,只能重新进入休眠状态,这种现象和性能浪费就叫做惊群效应。
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Tiddly Wiki' sort[ind]>>
</div>
! 大坑
!! 保存问题
* git保存于本地保存不能共存,如果设置了git保存,就不能存本地了。。
* 如果设置git保存,自动保存会经常报错
* 我还是选择用tiddlyDestop做本地保存,起码可以定时自动保存
* 再设置cronjob 定时提交gitHub更新网站,存云好了
[[Tiddly Wiki Tips]]
# Install [[TW-Commander|https://kookma.github.io/TW-Commander/]]
# Use `[!is[system]has[modified]!sort[modified]limit[10050]]` to flitter and delete
!! resources
* [[中文语法|https://oss.hintsnet.com/mirror/tiddlywiki.cn.html]]
* [[wikiText 语法|https://tiddlywiki.com/static/WikiText.html]]
* [[origin file|https://giffmex.org/stroll/stroll.html]]
* [[my commits of this file|https://github.com/YongHaoWu/YongHaoWu.github.io/commits/master]]
* [[myPublishSite|https://yonghaowu.github.io/wiki]]
!! 演讲
[[Joe Armstrong]]
[[Joe Armstrong & Jeremy Ruston - Intertwingling the Tiddlywiki with Erlang/Code Mesh LDN 18|https://www.youtube.com/watch?v=Uv1UfLPK7_Q]]
!! 使用TiddlyWiki的博客
* https://zettelkasten.sorenbjornstad.com#
* https://wiki.zhiheng.io/
* https://yonghaowu.github.io/life/
* https://diamondyuan.github.io/wiki/TiddlyWiki.html
* http://blog.tomzheng.com/wp-content/uploads/2020/01/tomz-jiagou-2019-12-8.html
* http://note.dimpurr.com/#Home
A time series [[Database]] (TSDB) is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s)
[[Debug]]
!! 已使用
* 另外如果你不小心删了日志或其他文件,进程未关闭文件的话,可以用文件描述符找回来。[[Use proc's fd to recover files]]
!! 未使用
* 先看dmsg,程序是崩溃还是oom,同时看看当时有没有硬件和内核告警,比如磁盘满。
* 找找core文件放哪里了,立即备份core文件,日志和程序binary和动态库。
* 有zabbix或falcon之类的,把出问题当时的cpu io net 内存的监控数据备份下来。
* 如果挂了debugfs的信号监控,记录下当时进程间信号通信情况,搞不好是谁手贱帮你把进程kill了,或者shell退出时帮你杀了。
* gdb,要会用脚本,用脚本在core中帮助排查复杂数据结构。
* make时记得把git hash和编译时间写到程序中,集中测试时频繁更新程序,搞不清出代码版本是很头痛的。
* nm链接失败的问题一般用nm看一下就能知道原因。
* 为代码封装一个方便打印backtrace的宏或函数,只打印地址即可,打函数名代价大又麻烦,打出来的地址用空格分隔,这样多个地址可以直接拷贝给addr2line来看函数名。
* 怀疑编译优化有问题,就用objdump看看,我遇到过编译优化出死循环的情况。
* 如果出问题时进程还活着,那得仔细看看/proc下的东西,文件描述符、vma、环境变量。
* [[netstat]]看网络链接的状态,监听端口,进出队列长度,留意下[[time wait]], [[close wait]],[[sendq]], [[recvq]],也许会有惊喜。
* [[lsof]]看看进程加载了什么位置的动态库,也许有新发现。
* /sys下的系统配置,检查下io调度器,ssd一般都用noop,其他调度器可能影响性能。
* lspci检查raid卡型号,lsi芯片的话,用megacli64来查看和修改配置,检查下你的raid缓存配置。
* sysctl看看系统配置,重点关注tcp缓冲区和sock链接复用的配置,默认的缓冲区大小可能不能发挥万兆的能力。
* perf是看性能问题的神器,特别矬的问题用pstack抓几下也能看出来。
* [[irqbalance]]是坑,一般都关掉,自己把中断只分配到3-4个core上可以发挥更好的万兆网卡性能。 所以要留意/proc下的中断统计。
* 大内存机器注意,glibc默认配置,mmap超过一定数量后可能都走sbrk了,已经free的内存可能碎片化无法还给系统也不能重用,自己管理内存的话一般都把mmap的大小和个数都调大,避免走sbrk。所以看/proc下的虚存使用情况很必要。怀疑网络或磁盘问题,用iperf和fio亲自测试看看。
* 高并发或内存池管理下的内存越界,valgrind基本没用,mprotect可以帮忙,但是要改代码做对齐。
* 另外就是管教结构的头尾可以用宏控制加magic number,运气好的话看一眼被破坏的内存就知道是谁占用的了。日志中把微秒时间,文件名,函数名,行号都打出来,关键时候有大用处。
链接:https://www.zhihu.com/question/61826619/answer/207481394
[[tmux]]
* `:capture-pane -S -3000` Replace 3000 with however many lines you'd like to save.
* `:save-buffer filename.txt` save the buffer to a file
<ul>
<$list filter="[tag[TableOfContents]]">
<li>
<$link>
<$macrocall $name="tag-pill-body" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag="""$button"""/>
</$link>
</li>
</$list>
</ul>
[[Configuration file]]
```toml
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true
[servers]
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
hosts = [
"alpha",
"omega"
]
```
/* Tomorrow Night Eighties Theme */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.hljs {
background: #2d2d2d;
color: #cccccc;
}
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
color: #999999;
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
color: #f2777a;
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
color: #f99157;
}
/* Tomorrow Yellow */
.hljs-attribute {
color: #ffcc66;
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
color: #99cc99;
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
color: #6699cc;
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
color: #cc99cc;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Tools' sort[ind]>>
</div>
[[Capacity estimation and constraints]]
[[database transactions]]
```sql
-- 1. start a new transaction
START TRANSACTION;
-- 2. Get the latest order number
SELECT
@orderNumber:=MAX(orderNUmber)+1
FROM
orders;
-- 3. insert a new order for customer 145
INSERT INTO orders(orderNumber,
orderDate,
requiredDate,
shippedDate,
status,
customerNumber)
VALUES(@orderNumber,
'2005-05-31',
'2005-06-10',
'2005-06-11',
'In Process',
145);
-- 4. Insert order line items
INSERT INTO orderdetails(orderNumber,
productCode,
quantityOrdered,
priceEach,
orderLineNumber)
VALUES(@orderNumber,'S18_1749', 30, '136', 1),
(@orderNumber,'S18_2248', 50, '55.09', 2);
-- 5. commit changes
COMMIT;
```
!Autocomplete problems
*If you downloaded Stroll between 5-21-2020 and 6-3-2020, your autocomplete probably isn't working. I fixed the problem, and you can drag [[this link|$:/config/EditorTypeMappings/text/vnd.tiddlywiki]] into your file to fix it. I accidentally forgot to tag this tiddler as ~$:/giffmex/stroll and ~$:/giffmex/blinks when I retagged the Stroll tiddlers on 5-21. Sorry! But it is fixed now.
*For autocomplete with Markdown, see the section on Markdown below.
!iOS
''I use iOS and want to disable the link autocomplete!''
<span class="indent1">
Unfortunately the autocomplete plugin (called the edit-comptext plugin) does not work in iOS and other contexts where one can't use the down arrow key.
To disable it, delete the following tiddler: [[$:/config/EditorTypeMappings/text/vnd.tiddlywiki]] . This will return it to its default setting.
</span>
!Markdown
''I have the markdown plugin, but autocompletion for linking doesn't work in my Markdown tiddlers!''
<span class="indent1">
The autocompletion of links with double brackets `[[link]]` is controlled by the comptext plugin. Users of Markdown have noticed that they can't use the autocomplete in their Markdown tiddlers. To make autocompletion compatible with formatting in Markdown tiddlers, create a tiddler with the title `$:/config/EditorTypeMappings/text/x-markdown` and put this in the text field: `comptext`
Then, to enable the `[[]]` format for a link, open the following shadow tiddler: $:/config/markdown/renderWikiTextPragma and replace the text with: `\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock prettylink`
</span>
!~TiddlyMap
We ''do not'' recommend using ~TiddlyMap. We have found too many incompatibilities. I will not help anyone else who comes to me with problems related to it. That said, here are solutions to two issues:
''I get an error when doubleclicking a node while in fullscreen mode in ~TiddlyMap!''
You will need to stop using fullscreen mode, which, for now, is incompatible for some reason with Stroll. But there is an easy workaround:
# Install the link-to-tabs plugin from https://wikilabs.github.io/editions/link-to-tabs/ and save and refresh.
# Click the link icon over the Map tab (visible on clicking that tab). This will open ~TiddlyMap as a tiddler, and doubleclicking a node will open the tidder //in the story river//.
''I installed ~TiddlyMap and now the columns are all messed up in two column mode!''
<span class="indent1">
Here is a hack to help you switch back and forth between wide and narrow sidebars: In the tiddler ''~$:/plugins/felixhayashi/tiddlymap/hook/editor'' of your file, on a new line right after the first line (`\define width() calc(100% - 15px)`), insert the following:
```
\define lingo-base() $:/language/ThemeTweaks/
<$select tiddler="$:/themes/tiddlywiki/vanilla/options/sidebarlayout"><option value="fixed-fluid"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value="fluid-fixed"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select>
```
Now your 'Map' tab will have a dropdown at the top to change the columns/sidebar relationship between 'fluid-fixed' and 'fixed-fluid'.
</span>
[[kernel virtual network devices]]
TUN, namely network TUNnel, simulates a network layer device and operates in [[Layer 3: Network layer]] carrying IP packets.
A TUN-style interface offers a point-to-point connection over which only TCP/IP traffic can be tunneled.
TUN is used with routing
[[Distributed transaction]]
两阶段提交(2PC) 是 Oracle Tuxedo 系统提出的 XA 分布式事务协议的其中一种实现方式
! 两阶段提交协议(2PC)
''2PC 要解决的问题可以简单总结为:在分布式系统中,每个节点虽然可以知道自己的操作是成功还是失败,却是无法知道其他节点的操作状态。''
当一个事务需要跨越多个节点时,为了保持事务的 ACID 特性,需要引入一个作为协调者的组件来统一掌控所有节点(参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。
因此,二阶段提交的算法思路可以概括为: 参与者将操作结果通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是中止操作。
#表决阶段:此时 Coordinator (协调者)向所有的参与者发送一个 vote request,参与者在收到这请求后,如果准备好了就会向 Coordinator 发送一个 VOTE_COMMIT 消息作为回应,告知 Coordinator 自己已经做好了准备,否则会返回一个 VOTE_ABORT 消息;
#提交阶段:Coordinator 收到所有参与者的表决信息,如果所有参与者一致认为可以提交事务,那么 Coordinator 就会发送 GLOBAL_COMMIT 消息,否则发送 GLOBAL_ABORT 消息;对于参与者而言,如果收到 GLOBAL_COMMIT 消息,就会提交本地事务,否则就会取消本地事务。
! 2PC 一致性问题
2PC 在执行过程中可能发生 Coordinator 或者参与者突然宕机的情况,在不同时期宕机可能有不同的现象。
| 情况 | 分析及解决方案 |
| Coordinator 挂了,参与者没挂 | 这种情况其实比较好解决,只要找一个 Coordinator 的替代者。当他成为新的 Coordinator 的时候,询问所有参与者的最后那条事务的执行情况,他就可以知道是应该做什么样的操作了。所以,这种情况不会导致数据不一致。 |
| 参与者挂了(无法恢复),Coordinator 没挂 | 如果挂了之后没有恢复,那么是不会导致数据一致性问题。 |
| 参与者挂了(后来恢复),Coordinator 没挂 | 恢复后参与者如果发现有未执行完的事务操作,直接取消,然后再询问 Coordinator 目前我应该怎么做,协调者就会比对自己的事务执行记录和该参与者的事务执行记录,告诉他应该怎么做来保持数据的一致性。 |
还有一种情况是:参与者挂了,Coordinator 也挂了,需要再细分为几种类型来讨论:
| 情况 | 分析及解决方案 |
| Coordinator 和参与者在第一阶段挂了 | 由于这时还没有执行 commit 操作,新选出来的 Coordinator 可以询问各个参与者的情况,再决定是进行 commit 还是 roolback。因为还没有 commit,所以不会导致数据一致性问题。 |
| Coordinator 和参与者在第二阶段挂了,但是挂的这个参与者在挂之前还没有做相关操作 | 这种情况下,当新的 Coordinator 被选出来之后,他同样是询问所有参与者的情况。只要有机器执行了 abort(roolback)操作或者第一阶段返回的信息是 No 的话,那就直接执行 roolback 操作。如果没有人执行 abort 操作,但是有机器执行了 commit 操作,那么就直接执行 commit 操作。这样,当挂掉的参与者恢复之后,只要按照 Coordinator 的指示进行事务的 commit 还是 roolback 操作就可以了。因为挂掉的机器并没有做 commit 或者 roolback 操作,而没有挂掉的机器们和新的 Coordinator 又执行了同样的操作,那么这种情况不会导致数据不一致现象。 |
| Coordinator 和参与者在第二阶段挂了,挂的这个参与者在挂之前已经执行了操作。但是由于他挂了,没有人知道他执行了什么操作。 | 这种情况下,新的 Coordinator 被选出来之后,如果他想负起 Coordinator 的责任的话他就只能按照之前那种情况来执行 commit 或者 roolback 操作。这样新的 Coordinator 和所有没挂掉的参与者就保持了数据的一致性,我们假定他们执行了 commit。但是,这个时候,那个挂掉的参与者恢复了怎么办,因为他已经执行完了之前的事务,如果他执行的是 commit 那还好,和其他的机器保持一致了,万一他执行的是 roolback 操作呢?这不就导致数据的不一致性了么?虽然这个时候可以再通过手段让他和 Coordinator 通信,再想办法把数据搞成一致的,但是,这段时间内他的数据状态已经是不一致的了! |
所以,2PC协议中,如果出现协调者和参与者都挂了的情况,有可能导致数据不一致。为了解决这个问题,衍生除了3PC。
! 2PC 优缺点
简单总结一下 2PC 的优缺点:
*优点:原理简洁清晰、实现方便;
*缺点:同步阻塞、单点问题、某些情况可能导致数据不一致。
关于这几个缺点,在实际应用中,都是对2PC 做了相应的改造:
#同步阻塞:2PC 有几个过程(比如 Coordinator 等待所有参与者表决的过程中)都是同步阻塞的,在实际的应用中,这可能会导致长阻塞问题,这个问题是通过超时判断机制来解决的,但并不能完全解决同步阻塞问题;
#Coordinator 单点问题:实际生产应用中,Coordinator 都会有相应的备选节点;
#数据不一致:这个在前面已经讲述过了,如果在第二阶段,Coordinator 和参与者都出现挂掉的情况下,是有可能导致数据不一致的。
[[Programming language theory]]
> a type theory is any of a class of formal systems, some of which can serve as alternatives to set theory as a foundation for all mathematics. In type theory, every "term" has a "type" and operations are restricted to terms of a certain type.
---
In [computer science](https://www.wikiwand.com/en/Computer_science), a **tagged union**, also called a **variant**, **variant record**, **choice type**, **discriminated union**, **disjoint union**, **sum type** or **coproduct**, is a [data structure](https://www.wikiwand.com/en/Data_structure) used to hold a value that could take on several different, but fixed, types.
#### sound type
A *sound* type system is one that ensures your program does not get into invalid states.
##### Strong Typed
a strongly typed language has stricter typing rules at compile time, which implies that errors and exceptions are more likely to happen during compilation
##### Weaked Typed
a weakly typed language has looser typing rules and may produce unpredictable results or may perform implicit type conversion at runtime
<http://www.yinwang.org/blog-cn/2012/08/01/interpreter>
[[Docker]]
ubuntu 默认会把 coredump 转发到 apport 这个胶水层,而它又默认把 apport 关掉的。。 所以docker 镜像选择 ubuntu 做系统时,要注意把 appport 打开 https://wiki.ubuntu.com/Apport
[[Layer 4: Transport layer]]
[[File&IO]]
!! ulimit — set or report file size limit
A hard limit can only be raised by root (any process can lower it). So it is useful for security: a non-root process cannot overstep a hard limit. But it's inconvenient in that a non-root process can't have a lower limit than its children.
A soft limit can be changed by the process at any time. So it's convenient as long as processes cooperate, but no good for security.
[[File&IO]]
<div class="box">
"""
open、read、[[write]]、close等系统函数称为无缓冲I/O(Unbuffered I/O)函数,因为它们位于C标准库的I/O缓冲区的底层
"""
</div>
# 用Unbuffered I/O函数每次读写都要进内核,调一个系统调用比调一个用户空间的函数要慢很多,所以在用户空间开辟I/O缓冲区还是必要的,用C标准I/O库函数就比较方便,省去了自己管理I/O缓冲区的麻烦。
# 用C标准I/O库函数要时刻注意I/O缓冲区和实际文件有可能不一致,在必要时需调用fflush(3)。
# 我们知道UNIX的传统是[[Everything is a file]],I/O函数不仅用于读写常规文件,也用于读写设备,比如终端或网络设备。在读写设备时通常是不希望有缓冲的,例如向代表网络设备的文件写数据就是希望数据通过网络设备发送出去,而不希望只写到缓冲区里就算完事儿了,当网络设备接收到数据时应用程序也希望第一时间被通知到,所以网络编程通常直接调用Unbuffered I/O函数。
<div class="box">
"""
事实上Unbuffered I/O这个名词是有些误导的,虽然write系统调用位于C标准库I/O缓冲区的底层,但在write的底层也可以分配一个内核I/O缓冲区,所以write也不一定是直接写到文件的,也可能写到内核I/O缓冲区中,至于究竟写到了文件中还是内核缓冲区中对于进程来说是没有差别的,如果进程A和进程B打开同一文件,进程A写到内核I/O缓冲区中的数据从进程B也能读到,而C标准库的I/O缓冲区则不具有这一特性
"""
</div>
[[Process State]]
An uninterruptible process is a process which happens to be in a system call (kernel function) that cannot be interrupted by a signal.
不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。
比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程或者中断打断的,这个时候的进程就处于不可中断状态。如果此时的进程被打断了,就容易出现磁盘数据与进程数据不一致的问题。
所以,不可中断状态实际上是系统对进程和硬件设备的一种保护机制。
<div class="box">
"""
A Unix domain socket or [[interprocess communication (IPC)]] socket is a data communications endpoint for exchanging data between processes executing on the same host operating system.
In addition to sending data, processes may send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls. This allows the sending processes to grant the receiving process access to a file descriptor for which the receiving process otherwise does not have access.
Unix domain socket 只拷贝数据,没有协议。
"""
</div>
[[Unix domain socket]]
<div class="box">
"""
What normally happens when a descriptor is passed from one process to another is that the sending process, after passing the descriptor, then closes the descriptor. Closing the descriptor by the sender doesn’t really close the file or device, since the descriptor is still considered open by the receiving process (even if the receiver hasn’t specifically received the descriptor yet).
"""
</div>
<meta charset='utf-8'><span style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 11.9px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgba(27, 31, 35, 0.05); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">config/shortcuts/cancel-edit-tiddler</span>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><br class="Apple-interchange-newline">
<meta charset='utf-8'><h1 class="firstHeading" style="box-sizing: border-box; font-size: 3.3em; margin: 0px 25px 2px -2px; border: 0px; padding: 0px 0px 5px; font-weight: 400; line-height: 1; color: rgb(0, 0, 0); font-family: Lora, serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><span class="" style="box-sizing: border-box; border: 0px; margin: 0px; padding: 0px;">Application layer</span></h1>
https://www.raychase.net/wp-content/uploads/2020/09/Dropbox-1.png
[[Encoding]]
# 一篇文章彻底弄懂 URLEncode 及GBK, Unicode等编码
## URL encode
`URL encode` 实际上是对 `URI` 进行 encode的,而不是对`URL`。
#### 什么是 URI?
**Uniform Resource Identifier** (**URI**,统一资源标志符) ,是用来标识资源的字符串,规定了以下文法:
[img[https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/URI_syntax_diagram.svg/2136px-URI_syntax_diagram.svg.png]]
上图可见,有效的 `URI` 至少包含 `scheme`,`:`以及 `path(路径)`,如经典的触发操作系统发邮件动作的[mailto 格式](<https://www.wikiwand.com/en/Mailto>):
```
mailto:John.Doe@example.com
└─┬──┘ └────┬─────────────┘
scheme path
```
其他就是可选的组合路径了,如`scheme://host path ? query # fragment`就会我们常见的 url 格式:
```
userinfo host port
┌──┴───┐ ┌──────┴──────┐ ┌┴┐
https://john.doe@www.example.com:123/forum/questions/?tag=networking&order=newest#top
└─┬─┘ └───────────┬──────────────┘└───────┬───────┘ └───────────┬─────────────┘ └┬┘
scheme authority path query fragment
```
##### URI包含URLs and URNs
- URL:Uniform Resource Locator(统一资源定位符):定义了如何找到一个资源
- URN: Uniform Resource Name (统一资源名称):定义了这个资源的唯一名字
简单说作用就是:
- URL:我们目前常用的网站地址,提供了以什么协议(http,ftp)来访问,地址路径在哪里(bilibili.com, abc.com)等等。
- URN: 我要获取的这个资源有一个唯一名字,我提供过去,统一中心会解析这个 `URN`,不管这个资源搬迁到哪里,只要存在就会返回给你。而 `URL` 一旦搬迁了,就不是有效地址了,你需要一个新地址去定位这个资源。由于历史原因,`URN` 几乎没有普及,所以某种程度上给人造成了 `URL` 跟 `URI` 好像差不多的样子。
#### Reserved Characters(保留字符)
`URI` 规定了要保留以下字符作特殊使用:
```
! * ' ( ) ; : @ & = + $ , / ? # [ ]
来自 RFC 3986 section 2.2 Reserved Characters (January 2005)
```
如`?`用来带 url 中的参数,`/`用来分割 url, `&`用来拼接 query等,保留字符都有自己的作用。
因此需要传此类字符而不是作特殊字符作用使用时,不能直接放入 url 中,需要编码,也就是 `url encode` 做的事情。
encode 很简单,把保留字符如`?`转成 [ASCII](https://www.wikiwand.com/en/American_Standard_Code_for_Information_Interchange) 的 16 进制表示(`?`就是 `3F`),在前面加一个`%`代表这是转码字符即可,也就是`?`需要 encode 成`%3F`放在 url 中,所以` url encode` 又称作`Percent-encoding `。
#### 实际应用
* 在下述url 中,需要传入跳转 `BACK_URL`参数`new_login.com?a=12`时,就需要转移`?`跟 `=`g .
https://third_party_login.com?BACK_URL=new_login.com?a=12 就应该转换成
https://third_party_login.com?BACK_URL=new_login.com%3Fa%3D12
这样子后面的`?`与`=`就不会被处理掉,而能够作为 `BACK_URL`这个参数的一部分传给后端。
* `http` 协议中`headers`的 `content-type`里常见的的`application/x-www-form-urlencoded`,指定请求 body 使用 `URL encoded`。
[[Multi-Leader Replication]]
* 运维多个数据中心
** 可以容忍单个数据中心的故障,或地理上更接近用户
* 需要离线操作的客户端(如Google日历)
**每个设备都有一个充当领导者的本地数据库(它接受写请求),并且在所有设备上的日历副本之间同步时,存在异步的多主复制过程。复制延迟可能是几小时甚至几天,具体取决于何时可以访问互联网。
* 协同编辑
** 当一个用户编辑文档时,所做的更改将立即应用到其本地副本(Web浏览器或客户端应用程序中的文档状态),并异步复制到服务器和编辑同一文档的任何其他用户。
[[iproute2]]
`ip -o route get to 8.8.8.8`
[[procfs]]
如下,31是用Python open了的文件,删除后依然可以读取:
```bash
root@localhost: rm /tmp/mytext
root@localhost: cat /proc/292203/fd/31
this is a text, to be deleted
```
[[Tools]]
* http://sideidea.com/
* https://questions.wizardzines.com/
* [[visual bash, write down a command-line to see the help text that matches each argument|https://explainshell.com/]]
[[Linux Memory Management]]
This is sometimes a slow and painful process because the kernel can spend an unbounded amount of time swapping in and out pages and evicting the page cache.
Furthermore, [[configuring policy|https://lwn.net/Articles/317814/]] is not very flexible while being somewhat complicated.
[[oomd|https://github.com/facebookincubator/oomd]] aims to solve this problem in userspace. oomd leverages PSI and cgroupv2 to monitor a system holistically.
[[DevelopmentTools]]
<div class="tc-table-of-contents">
<<toc-selective-expandable 'version control system ' sort[ind]>>
</div>
[[Designing partitions]]
Each partition holds a subset of the fields for items in the data store.
The fields are divided according to their pattern of use.
For example, ''frequently accessed fields might be placed in one vertical partition and less frequently accessed fields in another.''
[img[Vertically partitioning data by its pattern of use.|https://docs.microsoft.com/en-us/azure/architecture/best-practices/images/data-partitioning/datapartitioning02.png]]
[[Vim]]
[[Using template files in Vim|https://shapeshed.com/vim-templates/]]
```bash
if has("autocmd")
augroup templates
autocmd BufNewFile *.sh 0r ~/.vim/templates/skeleton.sh
augroup END
endif
```
*An if statement checks that the vim installation has the autocmd feature.
*A group is created called templates.
*An autocmd is created to be run each time the “starting to edit a non-existent file” event happens (BufNewFile).
*If the file has a .sh extension read the contents of ~/.vim/templates/skeleton.sh and inserted it at line 0.
[[Linux Memory Management]]
OS provisions more memory (both RAM and Swap) than it has available, betting on applications to reserve more memory pages than they actually need. Obviously this will end in an Out-of-Memory disaster if the application really needs the memory, and the kernel will go around and kill applications.
[[Linux Virtula Memory Tool]]
vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。
```bash
# 每隔5秒输出1组数据
$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 7005360 91564 818900 0 0 0 0 25 33 0 0 100 0 0
```
*cs(context switch)是每秒上下文切换的次数
*in(interrupt)则是每秒中断的次数
*r(Running or Runnable)是就绪队列的长度,也就是正在运行和等待 CPU 的进程数。
*b(Blocked)则是处于不可中断睡眠状态的进程数。
一个[[Process]]在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的[[PCB]]还保留着,内核在其中保存了一些信息:
* 如果是正常终止则保存着退出状态
* 如果是异常终止则保存着导致该进程终止的信号[[Signal]]是哪个。
这个进程的父进程可以调用wait或waitpid获取这些信息,然后彻底清除掉这个进程。
我们知道一个进程的退出状态可以在Shell中用特殊变量[[$?]]查看,因为[[Shell]]是它的父进程,当它终止时Shell调用 [[wait && waitpid]] 得到它的退出状态同时彻底清除掉这个进程。
如果一个进程已经终止,但是它的父进程尚未调用 [[wait && waitpid]] 对它进行清理,这时的进程状态称为僵尸([[ZombieProcess]])进程。
<<tabs "[[A stroll through Stroll]] [[The TiddlyWiki layout]] [[Using tiddlers]] [[Linking in Stroll, part 1]] [[Linking in Stroll, part 2]] [[Linking in Stroll, part 3]] [[New tiddler linked here]] [[Two columns]] [[Advanced stuff]] [[Troubleshooting]] [[Stroll vs Roam]] [[Recent updates to Stroll]] [[Download Stroll]] [[Updating Stroll]] [[Add Stroll to your TW]] [[Get goodies]] [[Help / Acknowledgments]] [[Help us]]" "[[A stroll through Stroll]]" "$:/state/strollhometabs" "tc-vertical">>
[[Happiness]]
[img[https://pic1.zhimg.com/80/c2ba882f38765a9121b49799adbe07b8_1440w.jpg]]
* 基因决定约50%的主观幸福感,即:你爸妈幸福,你就幸福。基因对幸福的作用体现为个体的心理特质和性格,如情绪控制力,同理心,社会比较倾向,这些因素都和幸福感紧密相关。
* 外部环境决定约10%,包括:收入水平,职业,居住地点,社会阶层等。即:赚多少钱和幸福感关系不大主观上
* 故意的行为(intentional activity)决定40%,包括的范围很广,如坚持锻炼,祈祷,做志愿者,从事有意义的职业,在知乎上贡献答案。大体上来说,如果能有一个符合自己价值观的目标,并将其实现,就能够增进幸福感
[[The Independent Effects of Goal Contents and Motives on Well-Being:It’s Both What You Pursue and Why You Pursue It|https://selfdeterminationtheory.org/SDT/documents/2004_SheldonRyanDeciKasser.pdf]]
[[Speech]]
[[Joe Armstrong 面对面|https://zhuanlan.zhihu.com/p/34759478]]
人们在演讲的时候往往忽略了问题,而直接给出答案。
> people didn’t really distinguish problem & solution. what’s your problem? why are you doing this?
在你的问题没有阐述清楚之前,我们之间无法达成共鸣,那么我为什么要关心你的答案?不解决问题,或者不解决我关心的问题(你要想办法让我关心),再光鲜亮丽的 solution 都是没有意义和价值的。
我们现在有太多太多的编程语言了 —— python,ruby 这样如此相似的语言,为什么我们需要发明两个?有了 Java 为什么还要有 C#?大家把太多太多精力都放在构建一门更好的语言,可是,真正称得上有自己思想的语言很少。大部分语言可以被归到几个类目下面。如果把一门门语言看成一个 blackbox 的话,那么,大家都只顾自己的一亩三分地;如果把一台台机器看成一个个 blackbox 的话,那么,大家挤在一方小小的土地上厮杀,此消彼长。我们应该更多地 build things outside the boxes。在 blackbox 之间,广袤的领地,无人问津。blackbox 如何被连接在一起,如何 communicate & collaborate,还有大量的工作要做。
[[Linux Multi Process]]
[[ Linux 下多线程和多进程程序的优缺点,各自适合什么样的业务场景? |https://www.zhihu.com/question/24485648]]
在能使用多进程解决一个问题的时候不要使用多线程。
RCU的发明者,Paul McKenny 在《Is Parallel Programming Hard, And, If So, What Can You Do About It?》一书中也有这样的看法。
* 多线程的优点:
** 方便高效的内存共享 - 多进程下内存共享比较不便,且会抵消掉多进程编程的好处
** 较轻的上下文切换开销 - 不用切换地址空间,不用更改CR3寄存器,不用清空TLB。
* 多进程的优点:
** 更强的容错性 - 一个进程crash不会导致整个系统崩溃
** 更好的多核可伸缩性 - 进程的使用将许多内核资源(如地址空间,页表,打开的文件)隔离,在多核系统上的可伸缩性强于多线程程序
综上,当你的不同任务间需要大量共享数据或频繁通信时,使用多线程,其他情况下尽量使用多进程。
!! 提高多线程程序效率的一般方法:
* 不要频繁创建,销毁线程,使用线程池
* 减少线程间同步和通信(最为关键)
* 避免需要频繁共享写的数据
* 合理安排共享数据结构,避免伪共享(false sharing)
* 使用非阻塞数据结构/算法
* 避免可能产生可伸缩性问题的系统调用(比如mmap)
* 避免产生大量缺页异常,尽量使用Huge Page
* 可以的话使用用户态轻量级线程代替内核线程
[[database transactions]]
[[Why and When to use transactions?|https://docs.microsoft.com/en-us/archive/blogs/florinlazar/why-and-when-to-use-transactions]]
*数据库软件、硬件可能在任意时刻发生故障(包括写操作进行到一半时)。
*应用程序可能在任意时刻崩溃(包括一系列操作的中间)。
*网络中断可能会意外切断数据库与应用的连接,或数据库之间的连接。
*多个客户端可能会同时写入数据库,覆盖彼此的更改。
*客户端可能读取到无意义的数据,因为数据只更新了一部分。
*客户之间的竞争条件可能导致令人惊讶的错误。
[[ELF Section]]
<<<.tc-big-quote
.symtab is not loaded into memory because it is not necessary for runtime. The .dynsym contains symbols that can only be resolved at runtime, and therefore they are the only symbols needed at runtime by the dynamic linker. So, while the .dynsym symbol table is necessary for the execution of dynamically linked executables, the .symtab symbol table exists only for debugging and linking purposes and is often stripped (removed) from production binaries to save space.
[[Learning Linux Binary Analysis|https://learning.oreilly.com/library/view/learning-linux-binary/9781782167105/ch02s04.html]]
[[Linux Pipe]]
[[The Linux Programming Interface: 44. PIPES AND FIFOS|https://learning.oreilly.com/library/view/The+Linux+Programming+Interface/9781593272203/xhtml/ch44.xhtml]]
!! read pipe, close write fd
The process reading from the pipe closes its write descriptor for the pipe, so that, when the other process completes its output and closes its write descriptor, the reader sees end-of-file (once it has read any outstanding data in the pipe).
If the reading process doesn’t close the write end of the pipe, then, after the other process closes its write descriptor, ''the reader won’t see end-of-file'', even after it has read all data from the pipe.Instead, a read() would block waiting for data, because the kernel knows that there is still at least one write descriptor open for the pipe.
!! write pipe, close read fd
<div class="box">
"""
When a process tries to write to a pipe for which no process has an open read descriptor, the kernel sends the SIGPIPE signal to the writing process. By default, this signal kills a process. A process can instead arrange to catch or ignore this signal, in which case the write() on the pipe fails with the error EPIPE (broken pipe). ''Receiving the SIGPIPE signal or getting the EPIPE error is a useful indication about the status of the pipe'', and this is why unused read descriptors for the pipe should be closed.
"""
</div>
[[OSI model questions]]
!! IP packets aren't always encapsulated in Ethernet frames.
* [[How are MAC addresses used in routing packets?|https://stackoverflow.com/questions/23935095/how-are-mac-addresses-used-in-routing-packets]]
* [[Why do computers need both MAC Addresses and IP Addresses?|https://whofi.com/blog/technical-info/why-do-computers-need-both-mac-addresses-and-ip-addresses/#:~:text=MAC%20Addresses%20handle%20the%20physical,computer%20AND%20network%20to%20network]]
* There are other physical media such as ISDN, etc.
* IP Addresses are logical and routeable addresses
* MAC Addresses are physical and are NOT routeable
''MAC Addresses handle the physical connection from computer to computer while IP Addresses handle the logical routeable connection from both computer to computer AND network to network.''
When packets are routed, IP addresses are used to determine the next hop and the physical address is used to physically identify the interface serving as the next hop. Only the former (determining next-hop) is usually called routing.
在Shell下输入命令可以运行一个程序,是因为Shell进程在读取用户输入的命令之后会调用[[fork]]复制出一个新的Shell [[Process]],然后新的Shell进程调用[[exec]]执行新的程序
[img[http://akaedu.github.io/book/images/process.forkexec.png]]
[[Computer network types by spatial scope]]
A wide area network (WAN) is a telecommunications network that extends over a large geographic area for the primary purpose of computer networking.
[[Replication Logs]]
<<<
the log is an append-only sequence of bytes containing all writes to the database
We can use the exact same log to build a replica on another node: besides writing the log to disk, the leader also sends it across the network to its followers. When the follower processes this log, it builds a copy of the exact same data structures as found on the leader.
<<<
日志都是包含所有数据库写入的仅追加字节序列。可以使用完全相同的日志在另一个节点上构建副本:除了将日志写入磁盘之外,主库还可以通过网络将其发送给其从库。
当从库应用这个日志时,它会建立和主库一模一样数据结构的副本。
PostgreSQL和Oracle等使用这种复制方法
[[Linux Performance Tools]]
`xargs - build and execute command lines from standard input`
* xargs ignore error, `xargs sh -c "somecommand || true"`
* {}
`find . -name *.png -name *.jpg -exec mv {} ../`
> The string `{}` is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find.
[[Configuration file]]
!! Drawbacks:
* It is sensitive to indentation so it can give unexpected results or errors if indented improperly.
* It also converts values to data types (string, number, boolean, date, etc) depending on the value. That’s not always okay.
e.g, `Seinfeld` is returned as type string, as expected. `24` is not; it’s returned as an integer.
`90210` is returned as type string, but only because the configurer knew and remembered to explicitly specify the data type using !!str.
```yaml
tv_shows:
- Seinfeld
- 24
- !!str 90210
```
!! Example
```YAML
title: YAML Example
owner:
name: Tom Preston-Werner
dob: 1979-05-27T07:32:00-08:00
database:
server: 192.168.1.1
ports: [ 8001, 8001, 8002 ]
connection_max: 5000
enabled: true
servers:
alpha:
ip: 10.0.0.1
dc: eqdc10
beta:
ip: 10.0.0.2
dc: eqdc10
clients:
data: [ [gamma, delta], [1, 2] ]
hosts:
- alpha
- omega
```
[[Git]]
> sometimes git prints the message "You are in 'detached HEAD' state".
> What does that mean?
''HEAD points to a commit, not a branch''
when HEAD points to a commit, no branch gets updated when you make new commits.
git warns you about this because if commits aren't on a branch, it's hard to find them later.
[[Cloud Products]]
Guess what Zero is
如果一个进程已经终止,但是它的父进程尚未调用[[wait && waitpid]]对它进行清理,这时的进程状态称为僵尸(Zombie)进程。
任何进程在刚终止时都是僵尸进程,正常情况下,僵尸进程都立刻被父进程清理了
[[garbage collection]]
为了解决原始标记清除算法带来的长时间 STW,多数现代的追踪式垃圾收集器都会实现三色标记算法的变种以缩短 STW 的时间。三色标记算法将程序中的对象分成白色、黑色和灰色三类4:
*白色:未搜索的对象,在回收周期开始时所有对象都是白色,在回收周期结束时所有的白色都是垃圾对象
*灰色:正在搜索的对象,但是对象身上还有一个或多个引用没有扫描
*黑色:已搜索完的对象,所有的引用已经被扫描完
---
* The white set, or condemned set, is the set of objects that are candidates for having their memory recycled.
* The black set is the set of objects that can be shown to have no outgoing references to objects in the white set, and to be reachable from the roots. Objects in the black set are not candidates for collection.
* The gray set contains all objects reachable from the roots but yet to be scanned for references to "white" objects. Since they are known to be reachable from the roots, they cannot be garbage-collected and will end up in the black set after being scanned.
[img[https://upload.wikimedia.org/wikipedia/commons/1/1d/Animation_of_tri-color_garbage_collection.gif]]
!! 实现
# 初始时所有对象都是白色对象
#从GC Root对象出发,扫描所有可达对象并标记为灰色,放入待处理队列
#从队列取出一个灰色对象并标记为黑色,将其引用对象标记为灰色放入队列
# 重复上一步骤,直到灰色对象队列为空
# 此时所有剩下的白色对象就是垃圾对象
[[三色标记 Tri-color marking]]
假设三色标记法和用户程序并发执行,那么下列两个条件同时满足就可能出现错误回收非垃圾对象的问题:
#某一黑色对象引用白色对象
#对于某个白色对象,所有和它存在可达关系的灰色对象丢失了访问它的可达路径
一句话总结即是:在三色标记法执行的某个特定时机,只要存在未经访问的能够到达白色对象的可达路径,就可以令黑色对象引用白色对象,反正该白色对象在后面标记中会被识别为“可达”对象从而不会被错误回收。
[[Nutrition]]
<div class="tc-table-of-contents">
<<toc-selective-expandable '中国居民膳食营养素参考摄入量' sort[ind]>>
</div>
[img width=432 [https://pic3.zhimg.com/80/v2-ce85115929c4d95c27cf2c475971967c_1440w.jpg?source=1940ef5c]]
! Summary
!! 食物多样,谷类为主(1 / 6)
*碳水化合物供能比的可接受范围是50%-65%,脂肪的可接受范围则是20%-30%
* 健康中青年男性一天脂肪摄入的限量是75g
* 每天摄入谷薯类食物''250~400g'',其中全谷物和杂豆类''50~150g'',薯类''50~100g''。
*食物多样、谷类为主是平衡膳食模式的重要特征。
!! 多吃蔬果、奶类、大豆(3 / 6)
* 每天半斤水果一斤菜
** 推荐每天摄入200~350克的新鲜水果
** 保证每天摄入300~500g蔬菜,深色蔬菜应占1/2
* 某日大豆类食物摄入较高,那么2杯的牛奶就能满足当日钙需求;大豆类食物摄入少或者没有的时候就保证3杯奶或奶制品(>300g)
!! 适量吃鱼、禽、蛋、瘦肉(4 / 6)
* 鱼、禽、蛋和瘦肉摄入要适量。
*每周吃鱼280~525g,畜禽肉280~525g,蛋类280~350g,平均每天摄入总量''120~200g''。
*''优先选择鱼和禽''。
*吃鸡蛋不弃蛋黄。
*少吃肥肉、烟熏和腌制肉制品。
!! 少盐少油,控糖限酒(5 / 6)
*培养清淡饮食习惯,少吃高盐和油炸食品。成人''每天食盐不超过6g,每天烹调油25~30g''。
*控制添加糖的摄入量,''每天摄入不超过50g,最好控制在25g以下''。
*每日反式脂肪酸摄入量不超过''2g''。
*足量饮水,成年人每天''7~8杯(1500~1700ml)'',提倡饮用白开水和茶水
* 尽量做到在摄入的主食中有至少一半是全谷物、薯类及杂豆类,用这些食物代替精致碳水
[[Nutrition]]
!! Overview
<<<.tc-big-quote
我国成年居民钙、锌、硒、镁、维生素 B1 和维生素 B2 摄入不足比例均较高,其中钙摄入不足的比例超过 95%,维生素 B1 和维生素 B2 摄入不足的比例均达到了 80%以上。结论 我国成年居民宏量营养素供能比例不合理,膳食钙、锌、硒、镁、维生素 B1 和维生素 B2 摄入不足状 况较为严重。
<<<
<div class="box">
* 人群营 养素日常摄入量(usual intake,UI): UI是指人体长期 (1年)每日食物或营养素摄入量的平均值
* 适宜摄入量(AI)
* 平均需要量(EAR)
* Thiamine: 维生素B
* Riboflavin: 维生素B2
</div>
!! 宏量营养素摄入状况的评价
* 碳水化合物: 我国成年男性和女性碳水化 合物UI均值分别为327.6g/d和285.0g/d,摄入 不足比例分别为 0.6%和 1.8%。我国成年男性和女 性碳水化合物供能比 UI 均值均为 56.3%,低于 AI 下限的比例均为43.8%,高于AI上限的比例分别 为 25.2%和 25.0%
!! 维生素摄入状况的评价
*维生素 B1:我国成年男性和女性维生素 B1 的 UI 均值分别为 1.1 和 0.9mg/d,摄入不足的比 例分别为 81.1%和 88.0%
*维生素 B2:我国成年男性和女性维生素 B2 的 UI 均值分别为 0.9 和 0.7mg/d,摄入不足的*比 例分别为 88.1%和 85.4%
*维生素 E:我国成年男性和女性维生素 E 的 UI 均值分别为 36.7 和 32.0 mg/d 摄入不足的 比例分别为 10.3%和 13.7%
!! Summary
* 我国成年居民碳水化合物和蛋白质供 能比低于推荐范围下限的比例分别为 40%和 20% 左右,约有 50%的人群脂肪供能比高于 AI 上限
** 表明我国成年居民宏量营养素供能比例不合理。 这种膳食模式是引起肥胖、高血脂、动脉粥样硬 化等多种慢性疾病的危险因素之一
* 中国居民膳 食中钙、锌、硒和镁的摄入严重不足。
** 人体需要 的矿物质元素本身不能合成,都要通过食物和饮水来供应。
** 为了改善矿物质摄入不足的现状建 议成年人群应经常食用奶及奶制品、谷类和豆类 食物等,尽量少饮用纯净水。
*我国成年居民膳食维生素 B1 和维 生素 B1 摄入不足状况较为严重
** 粮食加工的精细度不断增加和主食消费量减 少等都是造成 B 族维生素摄入不足的原因
** 除了 调整膳食结构、粗细搭配和改进烹调方法之外,合理补充 B 族维生素以达到推荐摄入量也是改善 维生素摄入不足、维护健康和预防慢性疾病的重 要方式之一。
[[ACID (atomicity, consistency, isolation, durability)]]
ACID一致性的概念是,对数据的一组特定陈述必须始终成立。即不变量(invariants)。例如,在会计系统中,所有账户整体上必须借贷相抵。如果一个事务开始于一个满足这些不变量的有效数据库,且在事务处理期间的任何写入操作都保持这种有效性,那么可以确定,不变量总是满足的。
[[ACID (atomicity, consistency, isolation, durability)]]
ACID意义上的隔离性意味着,''同时执行的事务是相互隔离的''
它们不能相互冒犯。传统的数据库教科书将隔离性形式化为可序列化(Serializability),这意味着每个事务可以假装它是唯一在整个数据库上运行的事务。数据库确保当事务已经提交时,结果与它们按顺序运行(一个接一个)是一样的,尽管实际上它们可能是并发运行的【10】。
[[database transactions]]
| Isolation Level | 脏读(Dirty Read) | 不可重复读(Non Repeatable Read) | 幻读(Phantom Read) |
| Read Uncommitted | Yes | Yes | Yes |
| Read Committed | - | Yes | Yes |
| Repeatable Read | - | - | Yes |
| Serializable | - | - | - |
[[Principles]]
* 我不想工作 vs 为什么我不想工作
* 赚钱很难 vs 为什么赚钱很难
* 不想上班 vs 为什么不想上班
[[HTTP experience]]
! 升级 HTTP2
兼容,或者说客户端要求升级到 HTTP2,主要有两种方法:
* 客户端的`HTTP header` 的`Upgrade` 指定`h2c`(`HTTP/2 ClearText`)
* 如你所知,`Connection: Upgrade`与`Upgrade: websocket`,Websocket 就是这样子变换协议的;
* `ALPN(Application Layer Protocol Negotiation,应用层协议协商)`, TLS 的扩展功能
* 客户端在建立 TLS 连接的 Client Hello 握手中,通过 ALPN 扩展列出了自己支持的各种应用层协议
* 如果服务端支持 HTTP/2,在 Server Hello 中指定 ALPN 的结果为 `h2` 就可以了
* 如果服务端不支持 HTTP/2,从客户端的 ALPN 列表中选一个自己支持的即可
而一般你看现在的网站请求,都用第二种方式了,因为第一种方式服务端接收到后还需要返回`101状态码 Switching Protocols`告知客户端,客户端再发送 http2 的数据。
[[ACID (atomicity, consistency, isolation, durability)]]
相比之下,ACID的原子性并不是关于并发(concurrent)的。它并不是在描述如果几个进程试图同时访问相同的数据会发生什么情况,这种情况包含在缩写I 中,即隔离性(Isolation).
ACID原子性的定义特征是:能够在错误时中止事务,丢弃该事务进行的所有写入变更的能力。 或许 可中止性(abortability) 是更好的术语,但本书将继续使用原子性,因为这是惯用词。
[[Note]]
[[Concept]]
[[Reentrancy]] is not the same thing as [idempotence](https://www.wikiwand.com/en/Idempotence), in which the function may be called more than once yet generate exactly the same output as if it had only been called once.
#### 幂等性([[Idempotence]])
**Idempotence** whereby they can be applied multiple times without changing the result beyond the initial application.
- in [imperative programming](https://www.wikiwand.com/en/Imperative_programming), a [subroutine](https://www.wikiwand.com/en/Subroutine) with [side effects](https://www.wikiwand.com/en/Side_effect_(computer_science)) is idempotent if the system state remains the same after one or several calls, in other words if the function from the system state space to itself associated to the subroutine is idempotent in the mathematical sense given in the [definition](https://www.wikiwand.com/en/Idempotence#Definition);
- in [functional programming](https://www.wikiwand.com/en/Functional_programming), a [pure function](https://www.wikiwand.com/en/Pure_function) is idempotent if it is idempotent in the mathematical sense given in the [definition](https://www.wikiwand.com/en/Idempotence#Definition).
[[ext2 filesystem]]
由很多块组描述符组成,整个分区分成多少个块组就对应有多少个块组描述符。
每个块组描述符(Group Descriptor)存储一个块组的描述信息,例如在这个块组中从哪里开始是inode表,从哪里开始是数据块,空闲的inode和数据块还有多少个等等。
和[[超级块(Super Block)]] 类似,块组描述符表 在每个块组的开头也都有一份拷贝,这些信息是非常重要的,一旦超级块意外损坏就会丢失整个分区的数据,一旦块组描述符意外损坏就会丢失整个块组的数据,因此它们都有多份拷贝。通常内核只用到第0个块组中的拷贝
<div class="box">
<<<.tc-big-quote
"""
画楼帘幕卷新晴。掩银屏,晓寒轻。坠粉飘香,日日唤愁生。暗数十年湖上路,能几度,著娉婷?
年华空自感飘零。拥春酲,对谁醒?天阔云闲,无处觅箫声。[[载酒]]买花年少事,浑不似,旧心情。
"""
<<<
"""
江城子:词牌名。唐词单调,始见《花间集》韦庄词,单调三十五字,七句五平韵。或谓调因欧阳炯词中有“如(衬字)西子镜照江城”句而取名,其中江城指的是金陵,即今南京。宋人改为双调,七十字,上下片都是七句五平韵。
画楼:雕饰华丽的楼房。
银屏:镶银的屏风。
娉婷( pīng tíng):姿态美好貌。这里借指美人。东坡词:“如有意,慕娉婷。”
酲(chéng):醉酒
白话译文
画楼上卷起了幕帘,展开一片新晴,清晨的寒意很轻微,我掩紧银白色的屏风。坠落的一片片花瓣飘来淡淡的清香,天天都令人产生愁情。暗暗地计算着十年间西湖上往返行程,有几次能遇着美丽姑娘的钟情,能与佳人幽欢尽兴。
我徙然感到韶华易逝,容华凋零,终日在春酒中留连光景。没有知心的人可以交谈,对谁人也用不着清醒。天大地大,无处可以再次寻找那悠扬欢乐的箫声。即使也跟年轻时那样买花携酒,但是却完全没有了当时的那种心情
"""
</div>
[[读已提交(Read Committed)]]
最常见的情况是,数据库通过''使用行锁(row-level lock)'' 来防止脏写:当事务想要修改特定对象(行或文档)时,它必须首先获得该对象的锁。然后必须持有该锁直到事务被提交或中止。
一次只有一个事务可持有任何给定对象的锁;如果另一个事务要写入同一个对象,则必须等到第一个事务提交或中止后,才能获取该锁并继续。这种锁定是读已提交模式(或更强的隔离级别)的数据库自动完成的
但是要求读锁的办法在实践中效果并不好。因为一个长时间运行的写入事务会迫使许多只读事务等到这个慢写入事务完成。这会损失只读事务的响应时间,并且不利于可操作性:因为等待锁,应用某个部分的迟缓可能由于连锁效应,导致其他部分出现问题。
出于这个原因,大多数数据库vi使用图7-4的方式防止脏读:对于写入的每个对象,数据库都会记住旧的已提交值,和由当前持有写入锁的事务设置的新值。 当事务正在进行时,任何其他读取对象的事务都会拿到旧值。 只有当新值提交后,事务才会切换到读取新值。
[[linux uptime]]
<div class="box">
"""
On Linux systems, these numbers include processes wanting to run on CPU, as well as processes blocked in uninterruptible I/O (usually disk I/O)
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系
"""
</div>
[[Regular expression(regex)]]
https://www.zhihu.com/question/321235026/answer/659682220
```
(
regexpTaobao = regexp.MustCompile(`¥([\w\s]+)¥`)
regexpURL = regexp.MustCompile(`(?:http|https|www)(?:[\s\.:\/\/]{1,})([\w%+:\s\/\.?=]{1,})`)
regexpWhitelist = regexp.MustCompile(`((acg|im9|bili|gov).*(com|html|cn|tv)|(av\d{8,}|AV\d{8,}))`)
regexpQQ = regexp.MustCompile(`(?:[加qQ企鹅号码\s]{2,}|[群号]{1,})(?:[\x{4e00}-\x{9eff}]*)(?:[:,:]?)([\d\s]{6,})`)
regexpWechat = regexp.MustCompile(`(?:[加+微++➕薇?vV威卫星♥❤姓xX信]{2,}|weixin|weix)(?:[,❤️.\s]?)(?:[\x{4e00}-\x{9eff}]?)(?:[:,:]?)([\w\s]{6,})`)
)
```
[[garbage collection]]
基本思路是为每个对象加一个计数器,记录指向这个对象的引用数量。每次有一个新的引用指向这个对象,计数器加一;反之每次有一个指向这个对象引用被置空或者指向其他对象,计数器减一。当计数器变为 0 的时候,自动删除这个对象。
引用计数的优点是:
* 相对简单,不需要太多运行时(run-time)的支持,可以在原生不支持 GC 的语言里实现
* 对象会在成为垃圾的瞬间被释放,不会给正常程序的执行带来额外中断。
* 它的死穴是循环引用,对象 A 包含一个引用指向对象 B ,同时对象 B 包含一个引用指向对象 A,计数器就抓瞎了。
* 另外,引用计数对正常程序的执行性能有影响(每次引用赋值都要改计数器),特别是在多线程环境下(改计数器要加锁同步)。现在仍然主要采用引用计数的例子有 Apple 的 ARC,C++ 新标准里的 std::shared_ptr。
[[Debug]]
当程序变现很奇怪,不该变的地方变了,被人改了,就得注意:
* 这东西是不是全局可以访问的?
* 这函数是并发函数吗?
* 这个是指针,并且在外部被改了吗?
[[Eru CopyFileToContainer 偶尔会失败]] 就是这种情况,调用链太深,查了大半天结果发现这是一个并发函数。
[[Bash]]
在[[control operator &]]时,除了用`perf trace `获取linux 全部系统调用,再grep;
还可以通过`strace -f` 抓取这个bash自身`pid`来得知所有子进程的系统调用。
[[ACID (atomicity, consistency, isolation, durability)]]
数据库系统的目的是,提供一个安全的地方存储数据,而不用担心丢失。持久性 是一个承诺,即一旦事务成功完成,即使发生硬件故障或数据库崩溃,写入的任何数据也不会丢失。
[[JobControl]]
在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal);由于控制终端是保存在PCB中的信息,而我们知道[[fork]]会复制[[PCB]]中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。
[[estate]]
* 150w首付(0.2),80平方非公摊,租售比稳定
[[Chinese Song lyric]]
[[浅析林夕《传说》中古典文学之运用|http://cantonpopblog.blogspot.com/2012/04/blog-post_8667.html]]
毕业于香港大学文学院中文系的林夕,具有深厚的文学造诣,热爱中国文学及文学创作。他填词喜用中国诗词典故,亦爱写文言以诗化歌词,令词境更为深化动人。林夕在接受杂志访问时曾经说过「开始的2-3 年,我比较重视文字的poetic 元素,把填词当作写诗一样。」
林夕的文字的功力在《传说》一词中可见一斑,具有浓厚的中国古典元素,文言和白话并用。在1987年创作的《传说》,词人通过古今爱情的对比,感叹现代爱情都变成了速食主义,不再吸引,至死不渝的爱情故事只能从古代的戏曲和文字中找寻。当中化用了三个文学典故,分别为《紫钗记》、《梁祝》及《帝女花》,现从歌词文本分析之。
歌词
「小玉典珠钗铅华求长埋祝君把新欢乘龙投豪门」
「小玉休相迫檀郎无忘情三载失钗凤瑶台求重逢」
运用了粤曲《紫钗记》的典故。「小玉」是霍小玉,「珠」指珍珠鈪,「钗」则指紫玉钗,是小玉和李十郎的定情信物。十郎得罪卢太尉而被发配边塞参军,一去三年毫无音讯,身无长物的小玉只好典当饰品,最后连上头之物—紫玉钗也拿去典当。「(小玉滚花下句)散尽千金求归讯,途穷何惜卖珠钗。你速寻侯氏到门庭,此钗贵重难贱卖。」(第四场〈典卖珠钗〉) 「铅华」借指妇女的美丽容貌、青春年华。「君」是李十郎,十郎返回长安后,被卢太尉施计,看见紫玉钗误信小玉已经改嫁他人,伤心欲绝。但其本身仍坚决不愿再娶,甚至「吞钗宁玉碎。」( 第五场〈吞钗拒婚〉),后来惜被太尉以反唐诗威胁。因而答应娶卢太尉的五女儿。「新欢」指太尉的五女儿燕贞,娶太尉的女儿当乘龙快婿。
小玉从助她卖钗的侯伯伯口中得知五姑爷是十郎,认为他是忘情之人。「(小玉滚花下句)万不料旧时结发钗头玉。改作新欢压髻凤凰簪。我誓闯侯门问十郎。为什一段恩情化作烟消云散。」( 第五场〈吞钗拒婚〉)「檀郎」是妇女对夫婿或所爱幕的男子的美称,即李十郎。「钗凤」即梁园凤,指小玉,李十郎因参军而和小玉分离三年,小玉得知其将再娶,生不如死。「(李益接唱)三载隔别,冷落梁园凤,至令爱妻病态沉重。」( 第七场〈剑合钗圆〉)但事实上十郎未有忘情。「瑶台」指传说中的神仙居处,十郎时刻希望和小玉相遇。
《紫钗记》中小玉和十郎的情路虽受多次阻碍,但两人均深爱对方,甚至以死明志。最后两人在黄衫人(即四王爷)的帮助下终成眷属,是至死不渝的爱情经典。林夕以短短数句歌词将整个经典故事《紫钗记》重点呈出来,而且用字华美精炼。
歌词
「庵中孤清清长平难逃情江山悲灾损流离仍重圆」
「花烛映窥妆 难为郎情长交杯饮砒霜 泉台谐盟鸾」
「庵」指维麾庵,长平公主化身道姑慧清避难。「孤清清」是取自第四场庵遇的一段开场白「(长平「道姑身」挽旧破竹篮,背尘拂上介起小曲雪中燕)孤清清,路静静,呢朵劫后帝女花,怎能受斜风雪凄劲」庵中的生活清苦。长平在上山拾柴时巧遇世显,「(世显觉得道姑酷似宫主白)哎吔,点解呢个道姑咐似长平宫主呢吓,莫不是宫主但幽魂现眼」( 第四场庵遇) ,长平虽多翻否认是长平公主,但在世显追问下终于承认,因而是「长平难逃情」。「江山悲灾损」指明朝亡国,世显和长平公主被迫分离,但最后亦能在次相遇「流离仍重圆」。
接着四句是来自第四场的《香夭》。「窥妆」是指世显挑灯看长平的新娘妆容。
「(世显接唱)将柳荫当做芙蓉帐,明朝驸马看新娘。(挑巾介)夜半挑灯有心作窥妆。」世显和长平在成婚之夜饮砒霜殉国,「(长平接唱)唉惜花者甘殉葬,花烛夜难为驸马饮砒霜。」「泉台」指墓穴,亦指阴间。「(世显接唱)寸心盼望能同合葬,鸳鸯侣相偎傍,泉台上再设新房,地府阴司里再觅那平阳门巷。」希望死后在阴间仍能作夫妻。
此处运用了粤曲《帝女花》其中《庵遇》、 《庵遇》及《香夭》三个唱段。国亡家破,长平流离失所,周世显四处访寻,终在庵庙相逢。但他们没有选择隐姓埋名长相厮守,而是在成婚当日于旧皇宫里交杯饮毒酒殉国,是壮烈的传奇故事。
歌词
「自古书说梁祝宁愿化蝶飞出苦痛我也要化蝶躲入传说内」
是运用《梁祝》的典故。这段写来用字较为直接,少用文言。英台和山伯相爱但不能在一起,英台被逼出嫁,途经山伯墓地,跳入墓中,与山伯同穴,双双化为蝴蝶,飞向仙境,以另一种方式继续相爱,即使死亡也未能分隔开他们。
《传说》一曲中,运用典故的歌词占了一半,比重很大。一词三个典故,文言与白话歌词互相配合。通过古今对比带出那种为爱牺牲、等待、付出、至死不渝的爱情故事只能在古代的传说中追寻。体现出林夕在词中的中心思想—「谈情」已经沦为「游戏」。
所有字词解释来自汉典
粤剧《紫钗记》全剧本
http://hi.baidu.com/%BA%CD%CC%EF_%D4%A3%C3%C0/blog/item/0b988f0eba6bd1326159f3e4.html
粤剧《帝女花》全剧本
http://hi.baidu.com/%BA%CD%CC%EF_%D4%A3%C3%C0/blog/item/9b566700d8127b10728da508.html
新加坡《都会佳人》解读-林夕http://bbs.linxileung.com/read.php?tid-381.html
朱耀伟:《香港流行歌词研究》,香港:三联书店出版社,1998 。
[[garbage collection]]
基本思路是先按需分配,等到没有空闲内存的时候从寄存器和程序栈上的引用出发,遍历以对象为节点、以引用为边构成的图,把所有可以访问到的对象打上标记,然后清扫一遍内存空间,把所有没标记的对象释放。
标记-清扫没有无法处理循环引用的问题,不触发 GC 时也不影响正常程序的执行性能。但它的问题是当内存耗尽触发 GC 时,需要中断正常程序一段时间来清扫内存,在内存大对象多的时候这个中断可能很长。
[img[https://upload.wikimedia.org/wikipedia/commons/4/4a/Animation_of_the_Naive_Mark_and_Sweep_Garbage_Collector_Algorithm.gif]]
[[Zero]]
```bash
while read -r line; do
ip=$(echo $line | awk '{print $4}' | grep -Po '.*(?=:)')
containerip=$(eru-cli container get-status `echo $line | awk '{print $12}'` | grep -Po "(?<=live:).*(?=])")
if [ "$ip" == "$containerip" ]; then
echo "ip $ip == containerIP $containerip"
else
echo "Not equal, ip $ip, containerIP $containerip"
fi
done < <(zero --env live --idc xx instance list --name xxx 2>&1 | tail -n +4)
```
[[WorkExperience]]
如上,[[Prometheus]] 与 [[Grafana]] 能够解决大部分统计、监控场景:
* 监控、统计云产品资源使用情况
* 产品经历需要实时查看全部产品的cpu,mem,峰值等数据
** 除了用[[Grafana]] 新造一dashboard外,还可以用[[Prometheus]]来计算出所有结果
总之,在造轮子前,先想想[[Prometheus]]能不能满足。
造数据统计的轮子太难受了
[[Bash]]
<<<.tc-big-quote
Shell进程先调用pipe创建一对管道描述符,然后[[fork]]出两个子进程,一个子进程关闭读端,调用[[dup2]]把写端赋给标准输出,另一个子进程关闭写端,调用dup2把读端赋给标准输入,两个子进程分别调用[[exec]]执行程序,而Shell进程把管道的两端都关闭,调用wait等待两个子进程终止。
[[Quote]]
https://tech.meituan.com/2017/12/22/ddd-in-practice.html
[[garbage collection]]
基本思路是把整个内存空间一分为二,不妨记为 A 和 B。所有对象的内存在 A 中分配,当 A 塞满的时候,同样从寄存器和程序栈上的引用出发,遍历以对象为节点、以引用为边构成的图,把所有可以访问到的对象复制到 B 去,然后对调 A 和 B 的角色。
相对于标记-清扫,节点复制的主要缺点是总有一半空间空闲着无法利用,另一个比较隐晦的缺点是它使用内存的方式与现有的内存换页、Cache 换入换出机制有潜在的冲突。但它有个很大的优点: 所有的对象在内存中永远都是紧密排列的,所以分配内存的任务变得极为简单,只要移动一个指针即可。对于内存分配频繁的环境来说,性能优势相当大。另外,由于不需要清扫整个内存空间,所以如果内存中存活对象很少而垃圾对象很多的话(有些语言有这个倾向),触发 GC 造成的中断会小于标记-清扫。
[[Poems]]
<<<.tc-big-quote
"""
《菩萨蛮·人人尽说江南好》
韦庄
人人尽说[[江南]]好,游人只合江南老。春水碧于天,画船[[听雨]]眠。
垆边人似月,皓腕凝霜雪。未老莫还乡,还乡须断肠。
[[Nutrition]]
通常情况下,脂肪、钠、糖(标在碳水化合物下属的那个“糖”)越高越不好。
如果【每一份】中某一项营养素旁边标的数字超过33%,代表超过一餐的限量;超过100%,代表超过一天的限量。
【每一份】的量,需要用这份食物在包装上标的重量与包装上营养成分表标出的每100g的含量进行推算,如可乐中含糖量为11.7g/100ml,则600ml可乐中含糖为600ml*11.7g/100ml=11.7g*6=70.2g。
[[Poems]]
<<<.tc-big-quote
虞美人·听雨
[宋] 蒋捷
[[少年]][[听雨]]歌楼上,
红烛昏罗帐。
壮年听雨客舟中,
江阔云低,断雁叫西风。
而今听雨僧庐下,
鬓已星星也。
悲欢离合总无情,
一任阶前,点滴到天明。
[[事务隔离级别]]
#从数据库读时,只能看到已提交的数据(没有脏读(dirty reads))。
#写入数据库时,只会覆盖已经写入的数据(没有脏写(dirty writes))。
[[事务隔离级别]]
某些数据库支持甚至更弱的隔离级别,称为读未提交(Read uncommitted)。它可以防止脏写,但不防止脏读。
[[ext2 filesystem]]
描述整个分区的文件系统信息,例如块大小、文件系统版本号、上次mount的时间等等。超级块在每个块组的开头都有一份拷贝。
[[Process]]
<div class="box">
"""
当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,或者调用sleep指定的睡眠时间到了)它才有可能继续运行。与睡眠状态相对的是运行(Running)状态,在Linux内核中,处于运行状态的进程分为两种情况:
正在被调度执行。CPU处于该进程的上下文环境中,程序计数器(eip)里保存着该进程的指令地址,通用寄存器里保存着该进程运算过程的中间结果,正在执行该进程的指令,正在读写该进程的地址空间。
就绪状态。该进程不需要等待什么事件发生,随时都可以执行,但CPU暂时还在执行另一个进程,所以该进程在一个就绪队列中等待被内核调度。系统中可能同时有多个就绪的进程,那么该调度谁执行呢?内核的调度算法是基于优先级和时间片的,而且会根据每个进程的运行情况动态调整它的优先级和时间片,让每个进程都能比较公平地得到机会执行,同时要兼顾用户体验,不能让和用户交互的进程响应太慢
"""
</div>